我使用的是带有Razor和EntityFramework的MVC3。为了处理事件调度,我有一个StartDate,StartTime,EndDate,EndTime使用jquery datepicker和timepicker。我想在我的ViewModel中使用DisplayFormatAttribute,但文本框不断显示整个DateTime字符串。DisplayFormatAttribute不起作用
在我的视图模型,我有以下特性:
[DisplayFormatAttribute(DataFormatString = "{0:mm/dd/yyyy}")]
public DateTime StartDate { get; set; }
[DisplayFormatAttribute(DataFormatString = "{0:h:mm tt}")]
public DateTime StartTime { get; set; }
而我的观点是这样的:
<div id="event-datetime-range" style="display:inline">
<span id="event-startdatetime">
@Html.TextBoxFor(model => model.StartDate, new { placeholder = "Start Date", id = "event-start-date", @class = "event-datepicker" });
<span class="event-timerange">at</span>
@Html.TextBoxFor(model => model.StartTime, new { placeholder = "Time", id = "event-start-time", @class = "event-timepicker event-timerange" })
</span>
谁能告诉我什么,我做错了什么?提前致谢!
我有一个博客张贴有关创建他们:http://buildstarted.com/2010/09/10/overriding-displayfor-and-editorfor-to-create-custom-outputs-for-mvc/ – Buildstarted
我碰到这个博客来了并且正在考虑长期使用这种方法,但创建编辑器模板让我感到不舒服,因为我只有一个星期进入我的MVC和Razor体验。你说得对,Html.DisplayFor()工作。我将最终使用该模板,但现在,我会尽量灵活并使用jQuery。感谢您的回复和有用的博客文章! – BornReady