Chr*_*sCa 1 asp.net-mvc jquery jquery-ui-datepicker
我使用以下js在表单中设置了一个日期选择器:
$("#Expiry").datepicker({
regional: 'en-GB',
dateFormat: 'dd/mm/yy',
firstDay: 1
});
Run Code Online (Sandbox Code Playgroud)
并在我看来有以下(asp.net MVC)
<%: Html.TextBoxFor(m => m.Expiry) %>
Run Code Online (Sandbox Code Playgroud)
在我的模型中,Expiry是可以为空的 DateTime?
当我使用datepicker选择一个日期时,它使用正确的格式
当我从数据库加载数据时,它总是在00:00:00显示时间部分
我怎么能不这样做呢?
如果我尝试在绑定中使用格式化表达式,那么它将无法编译.
当然jQuery应该尊重我为预先加载到表单字段中的值指定的格式?
它确实将datepicker应用于该字段,因此我可以选择日历.它只是不将格式应用于加载的值
有任何想法吗?
我怎么能不这样做呢?
您可以DateTime使用[DisplayFormat]允许您指定格式的属性来装饰视图模型上的相应属性:
public class MyViewModel
{
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? Expiry { get; set; }
... other properties
}
Run Code Online (Sandbox Code Playgroud)
并在视图内部替换了TextBoxFor一个EditorFor调用:
<%: Html.EditorFor(m => m.Expiry) %>
Run Code Online (Sandbox Code Playgroud)