如何在asp.net mvc 4中强制使用datetime格式?在显示模式下,它显示我想要,但在编辑模型中它没有.我使用displayfor和editorfor和applyformatineditmode = true with dataformatstring ="{0:dd/MM/yyyy}"我尝试过:
我不知道如何强制它,我需要输入日期为dd/MM/yyyy而不是默认值.
更多信息:我的viewmodel是这样的
[DisplayName("date of birth")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? Birth { get; set; }
Run Code Online (Sandbox Code Playgroud)
在视图中我使用,@Html.DisplayFor(m=>m.Birth)但这按预期工作(我看到格式)并输入我使用的日期,@Html.EditorFor(m=>m.Birth)但如果我尝试输入像13/12/2000这样的东西失败,错误,它不是一个有效的日期(12/13/2000和2000/12/13按预期工作但我需要dd/MM/yyyy).
在application_start()中调用自定义模型绑定器b/c我不知道在哪里.
使用<globalization/>我尝试过culture="ro-RO", uiCulture="ro"和其他文化相比,我会给你dd/MM/yyyy.我也尝试在application_start()中基于每个线程设置它(这里有很多例子,关于如何做到这一点)
对于所有会读到这个问题的人来说:只要我没有客户验证,Darin Dimitrov的答案就会起作用.另一种方法是使用自定义验证,包括客户端验证.我很高兴在重新创建整个应用程序之前发现了这一点.
附加到复选框按钮的标签的自然行为是在单击按钮(标签)时更改按钮的状态.这适用于JSF和Richfaces.
有没有办法让它在Primefaces(3.5)中工作而不涉及javascript?这是一个错误吗?
<p:outputLabel for="checkbox" value="Select it:" />
<p:selectBooleanCheckbox id="checkbox" label="My label" value="#{bean.value}" />
Run Code Online (Sandbox Code Playgroud)