如何在asp.net MVC4中强制使用datetime的格式?在显示模式下,它按我想要的那样显示,但在编辑模式下,它不显示。我将displayfor和editorfor和applyformatineditmode=true与dataformatstring="{0:dd/MM/yyyy}“一起使用,这是我尝试过的:
在application_start()
中使用my culture和application_start()
实现文化和文化的全球化(两者都有)
我不知道如何强制它,我需要输入dd/MM/yyyy格式的日期,而不是默认值。
更多信息:我的视图模型是这样的
[DisplayName("date of birth")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? Birth { get; set; }
在视图中,我使用@Html.DisplayFor(m=>m.Birth)
,但这工作正常(我看到格式),输入日期我使用@Html.EditorFor(m=>m.Birth)
,但如果我尝试输入类似13/12/2000 is失败,错误,它不是一个有效的日期(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的答案将工作只要我没有客户验证。另一种方法是使用自定义验证,包括客户端验证。我很高兴在重新创建整个应用程序之前发现了这一点。
https://stackoverflow.com/questions/11272851
复制相似问题