我正在尝试创建一个用户可以搜索文章的页面。可以选择根据FromDate
和ToDate
限制搜索。这两个都是DateTime
。
要求用户在dd.MM.yy
表单上输入日期,因为这在我们国家/地区是正常的。我可以在提交表单后在URL中看到日期,它看起来像我想要的那样。但问题是MVC3假设格式为MM.dd.yy
。我怎么能改变这个?
一些代码: 这是我使用的Razor代码
<div class="toDate" >
<label>til dato</label>
@Html.TextBoxFor(m => m.DateTo, new { placeholder = "dd.mm.yy" })
</div>
在模型中我只有:
public DateTime DateTo { set; get; }
我尝试过使用EditorFor,但是我丢失了占位符文字。
简而言之:如何让我的MVC3模型接受来自用户的日期时间输入dd.MM.yy
如果我的问题不够明确,请告诉我,我会尽力澄清。
编辑: 看来我需要一些澄清,所以我会尝试通过制作一个场景来做到这一点:
我希望有所帮助。
答案 0 :(得分:2)
[DisplayFormat(DataFormatString = "{0:dd MM yy}")]
pubilc DateTime DateTo { get; set }
答案 1 :(得分:1)
尝试设置自定义验证属性,您可以根据自己的喜好验证日期格式。
这是一个很好的教程:http://msdn.microsoft.com/en-us/gg618485(它并不像最初看起来那么困难,而且非常有帮助。)
或者,只需使用以下内容构建正则表达式验证属性:
RegularExpression(@"[0-3][0-9]\.[0-1][0-9].[0-9][0-9]")]
上面的正则表达式并不完美,但作为一个例子。
编辑:如果 3nigma 的解决方案适合您,那显然非常适合我的解决方案。 :)