字符串 – 自定义Asp.net MVC 3编辑器模板没有被使用
|
我有一个使用Razor视图引擎的MVC 3 Web应用程序.我想扩展默认编辑器模板,所以我想添加额外的 HTML5属性到输入元素,如自动对焦. 我正在使用AdditionalMetadataAttribute来指定我的实体的某些属性为自动对焦: public class MyEntity
{
public int Id { get; set; }
[Required]
[AdditionalMetadata("autofocus",true)]
[DataType(DataType.Text)]
public string Name { get; set; }
...
}
因为视图脚手架使用EditorFor方法,我决定玩,想要覆盖默认的String.cshtml模板,以便它也添加任何额外的元数据作为属性.要玩,意味着我不想使用TextBoxFor在哪里可以控制输入的属性. 这是我稍微改变的String.cshtml,它将所有其他元数据属性添加为输入HTML属性: @{
// System.Diagnostics.Debugger.Break();
this.ViewData.ModelMetadata.AdditionalValues.Add("class","text-box single-line");
}
@Html.TextBox(string.Empty,ViewContext.ViewData.TemplateInfo.FormattedModelValue,this.ViewData.ModelMetadata.AdditionalValues)
该模板应该使用相同的CSS类,使用相同的输入类型=文本,但是如果提供了其中任何一个属性,也可以使用其他属性. 然后我把这个文件放在/ Views / Shared / EditorTemplates /文件夹中,但是似乎这个模板从来没有被拿起来,因为我得到的只是默认的输入文本框. 我究竟做错了什么? 解决方法您的String.cshtml编辑器模板永远不会因为以下属性:[DataType(DataType.Text)]您用来装饰您的模型属性.这使用/ Views / Shared / EditorTemplates / Text.cshtml模板. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 检查IE浏览器 – .NET
- asp.net-mvc – 如何使用ASP.NET身份(OWIN)访问Facebook的私
- 在ASP.NET MVC3中实现的示例项目插件jquery文件上传插件
- Crystal Reports 13和Asp.Net 3.5
- ASP.NET身份Windows身份验证(混合模式 – 表单Windows)
- asp.net – Visual Studio 2012 – 哪里有ASPX设计和拆分视
- asp.net-mvc – ASP.NET MVC:添加将DisplayName合并到自定
- asp.net-mvc – 使用模型对象更新ModelState
- asp.net-mvc – MVC项目中的System.Globalization.CultureN
- asp.net core 实现一个简单的仓储的方法
- 只需发布已修改的控制器,模型和ASP.NET MVC项目的
- asp.net – 可接受的安全性:使用Paramatised SQ
- asp.net会员 – asp.net会员 – 设置注释字段
- asp.net – 使用必填字段验证器更改文本框颜色 无
- asp.net – 渗透测试人员说.ASPXAUTH cookie是不
- asp.net – 为什么我应该使用N层方法当使用SqlDa
- asp.net – 什么是global.asax用于?
- asp.net-mvc – 在ASP.NET MVC中下载动态生成的文
- asp.net-mvc-routing – ASP MVC 5属性路由VS.基
- asp.net-mvc – ASP.NET MVC获取下拉列表值
