我有一个模型,其中一个DateTime属性在某个地方被放置在隐藏的输入字段中。
@Html.HiddenFor(m => m.StartDate)
生成以下HTML代码:
<input id="StartDate" name="StartDate" type="hidden" value="1/1/2011 12:00:00 AM" >
问题是时间已经包含在值中,而我的自定义日期验证期望以##/##/####格式的日期,这导致了验证失败。我可以轻松地修改自定义日期验证以使此情况正常工作,但我更愿意使隐藏字段将值放在正确的格式中。
我尝试在模型属性上使用DisplayFormat属性,但似乎不能更改隐藏输入的格式。
我确实意识到我可以手动创建隐藏输入并调用StartDate.ToString("MM/dd/yyyy")来获取值,但我还在使用此模型在动态生成的项目列表中,因此输入被索引并具有像Collection[Some-Guid].StartDate这样的id,这会使得弄清楚输入的id和名称稍微困难一些。
是否有任何方法可以在将字段呈现为隐藏输入时使'value'值以特定格式输出?