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-mvc – 使用ASP.Net MVC中的模型绑定器更新父/子记
- asp.net – Jquery Ajax,不在Internet Explorer中工作
- asp.net下大文件上传知识整理
- asp.net – IIS Express(WebMatrix)打开外部连接
- Jquery 组合form元素为json格式,asp.net反序列化
- asp.net-mvc – 路由是在我的区域中找到控制器,但不是视图
- 将变量从ASP.net传递给JavaScript
- asp.net-mvc-4 – 如何在Kendo UI Grid中扩展页面加载时的所
- asp.net编程实现删除文件夹及文件夹下文件的方法
- WPF 一个数据库连接测试的实现
- .net – RESTful WCF的裸最低配置
- ASP.NET MVC与Webforms:替换WebForms控件
- asp.net – 选择框更改事件中的setTimeout
- asp.net-mvc – 无法在Web服务器上启动调试.调试
- asp.net-mvc – 是否可以为post和get提供重复的动
- asp.net-web-api – WebAPI 2属性路由启用会话状
- 如何在服务器端缓存ASP.NET自定义HttpHandler响应
- Asp.Net Core中WebSocket绑定的方法详解
- asp.net-mvc – 在我的ASP.NET MVC网站中缓存不能
- asp.net-mvc-3 – MVC3 Html.ActionLink Post
