asp.net-mvc – 隐藏日期时间的ASP.NET MVC格式
我有一个带有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和名称. 无论如何,当将页面上的字段渲染为隐藏输入时,是否以特定格式显示“值”值? 解决方法
您可以使用自定义编辑器模板:
public class MyViewModel { [UIHint("MyHiddenDate")] public DateTime Date { get; set; } } 然后定义?/ Views / Shared / EditorTemplates / MyHiddenDate.cshtml: @model DateTime @Html.Hidden("",Model.ToString("dd/MM/yyyy")) 最后在您的视图中使用EditorFor帮助器: @model MyViewModel @Html.EditorFor(x => x.Date) 这将为视图模型的Date属性呈现自定义编辑器模板,从而使用所需格式使用值呈现隐藏字段. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 目的是什么?
- asp.net – 有一个很好的web.config编辑器吗?
- asp.net中的页面卸载事件
- asp.net – asp:Gridview&asp:表格生成border>“0”属
- asp.net-mvc – 当前上下文错误中不存在名称“Url”
- asp.net – NVelocity没有找到模板
- asp.net-mvc – ASP.NET MVC Razor中的默认radiobuttonlist
- 3.翻译系列:EF Code-First 示例(EF 6 Code-First系列)
- asp.net – 对于布尔查询字符串参数使用“true”或“1”
- asp.net – 使用客户端标记链接相对于Application root
- asp.net – 使用Excel VBA从aspx页面表中检索数据
- 没有完整PostBacks的ASP.NET JavaScript回调?
- 我如何在ASP.Net Web窗体中模拟/伪造会话对象?
- asp.net-mvc – 以视图的形式显示视图中多个表的
- asp.net – 是否可以隐藏asp:repeater中的列?
- asp.net-mvc – T4MVC在控件库中使用扩展方法
- ASP.NET MVC 3 ValidateRequest(false)不能使用F
- asp.net – 在Web.config中读取和编辑配置
- asp.net-mvc – ASP.Net MVC 3中的远程验证:如何
- asp.net – 使用Cookie认证的asp net core项目MV