加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 带有HTML5语义标记的MVC4项目HtmlHelper.EditorF

发布时间:2020-12-16 03:27:42 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.NET MVC4项目,启用了 HTML5语义标记.使用@ Html.EditorFor(m = m.MyDateTimeField)时,输出是type =“datetime”的输入.我希望能够阻止EditorFor生成HTML5标记.我怎样才能做到这一点? 这只是Opera目前的一个问题,因为其他浏览器(据我所知)不支持
我有一个ASP.NET MVC4项目,启用了 HTML5语义标记.使用@ Html.EditorFor(m => m.MyDateTimeField)时,输出是type =“datetime”的输入.我希望能够阻止EditorFor生成HTML5标记.我怎样才能做到这一点?

这只是Opera目前的一个问题,因为其他浏览器(据我所知)不支持type =“datetime”.我在该字段上有一个jQuery datepicker所以在Opera中我得到了jQuery datepicker和浏览器datepicker.

我可以使用以下任何方法修复:
一个.使用js更改输入类型
湾使用Html.TextBoxFor(m => m.MyDateTimeField)
C.使用自定义编辑器模板
d.使用modernizr检测是否支持datetime,如果支持,则不要使用jQuery datapicker

我想要的解决方案是在HtmlHelper.EditorFor中禁用HTML5生成.我希望HtmlHelper.EditorFor的功能与我在项目创建时没有勾选“html5 semandtic markup”复选框时的功能相同.

编辑:
经过一些搜索后,我遇到了DataTypeAttribute,我可以在我的模型字段上应用它来强制它们呈现为输入类型=“文本”而不??是html5匹配.这是一个潜在的解决方案,但它不太理想.肯定在某个地方必须有一个开关来关闭EditorFor中的html5(和等效的助手)?

更多信息:
我有两个项目.第一个是用“Html5语义标记”创建的,另一个没有.第一个在使用EditorFor时使用html5输入类型,第二个不使用.我需要停止第一个项目EditorFor的行为方式是在不删除EditorFor的情况下.某处必须有设置?

解决方法

问题在于项目之一,包引用未正确更新,因此您看到了html5语义呈现.

当您将ASP.NET MVC测试版升级到RC时会出现此问题,并且有两种方法可以解决问题:通过Nuget更新所有软件包或手动添加对程序集的引用.

Scott here清楚地解释了问题和解决方案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读