asp.net-mvc – ASP.NET MVC 5和HTML 5根据W3C规范形成属性
发布时间:2020-12-16 07:29:09 所属栏目:asp.Net 来源:网络整理
导读:至于我知道,似乎Microsoft正在使用jQuery验证属性作为表单输入属性的默认值. 是否可以配置我的应用程序,所以如果我添加Required属性并使用@ Html.EditorFor(x = Model)渲染我的表单,表单将使用必需的属性而不是data-val-required进行渲染?或者我是否被迫为
至于我知道,似乎Microsoft正在使用jQuery验证属性作为表单输入属性的默认值.
是否可以配置我的应用程序,所以如果我添加Required属性并使用@ Html.EditorFor(x => Model)渲染我的表单,表单将使用必需的属性而不是data-val-required进行渲染?或者我是否被迫为所有标准类型编写自己的EditorTemplates? 解决方法
如果要替换ASP.NET MVC使用的标准data- * validation属性,首先应在web.config中禁用不显眼的客户端验证:
<add key="ClientValidationEnabled" value="false" /> 这将阻止html助手在输入字段上发出它们. 然后,您可以为标准类型编写自定义编辑器模板.例如,对于?/ Views / Shared / editorTemplates / String.cshtml的字符串: @{ var attributes = new Dictionary<string,object>(); attributes["class"] = "text-box single-line"; if (ViewData.ModelMetadata.IsRequired) { attributes["required"] = "required"; } } @Html.TextBox("",ViewData.TemplateInfo.FormattedModelValue,attributes) 这就是它.现在每次你做一个Html.EditorFor(x => x.Foo),其中Foo是一个字符串属性,它将生成以下标记: <input class="text-box single-line" id="Foo" name="Foo" required="required" type="text" value="" /> 还值得一提的是,如果您不想为整个应用程序禁用不显眼的客户端验证和data- *属性,但只能为单个表单执行此操作: @using (Html.BeginForm()) { this.ViewContext.ClientValidationEnabled = false; @Html.EditorFor(x => x.Foo) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Asp.net禁用页面缓存的方法总结
- azure – Request.Content.ReadAsMultipartAsync引发System
- asp.net – 什么设置的User.Identity.Name和User.Identity.
- asp.net – 无法加载文件或程序集“Microsoft.TeamFoundati
- asp-classic – 使用VBScript查询Active Directory
- asp.net – 从Google财经,雅虎金融或交易所获取股票报价
- asp.net-mvc – 流利的验证不适用于长度
- ASP.Net文本框从右到左
- asp.net-mvc – 我的MVC 5模板中没有ApplicationRoleManage
- asp.net – 跨应用程序的表单身份验证