我刚刚遇到一个非常有趣的问题。如果我使用 ViewData 将 DateTime 值传递给视图,然后将其显示在文本框中,即使我以完全相同的方式使用 String.Format,在使用 Html.TextBox 帮助程序时也会得到不同的格式化结果。
<%= Html.TextBox("datefilter", String.Format("{0:d}", ViewData["datefilter"]))%>
<input id="test" name="test" type="text" value="<%: String.Format("{0:d}", ViewData["datefilter"]) %>" />
上面的代码呈现以下 html:
<input id="datefilter" name="datefilter" type="text" value="2010-06-18" />
<input id="test" name="test" type="text" value="18/06/2010" />
请注意使用 Html 帮助程序的第一行如何以一种方式生成日期格式,而第二行如何生成非常不同的输出。任何想法为什么?
注意:我目前在巴西,所以这里的标准短日期格式是 dd/MM/yyyy。