ASP.NET MVC编辑器模板和Html.EditorFor(…) – 如何消除类型名
发布时间:2020-12-15 20:36:11 所属栏目:asp.Net 来源:网络整理
导读:在Razor语法中使用此 HTML助手时: @Html.EditorFor(model = model.Prop1) …该约定是将视图呈现在视图/ CrtView | Shared /EditorTemplates/Prop1TypeName.cshtml下. 到现在为止还挺好.请注意,如果Prop1的(限定)类型为my.org.ns.TheType,则将呈现文件TheTyp
在Razor语法中使用此
HTML助手时:
@Html.EditorFor(model => model.Prop1) …该约定是将视图呈现在视图/< CrtView | Shared> /EditorTemplates/Prop1TypeName.cshtml下. 到现在为止还挺好.请注意,如果Prop1的(限定)类型为my.org.ns.TheType,则将呈现文件TheType.cshtml. 但是如果我有一个.Prop1和.Prop2的模型,并且: Prop1.GetType().FullName == "my.org.ns1.TheType"; Prop2.GetType().FullName == "my.org.ns2.TheType"; //same type name but different namespace 我叫这把剃刀: @Html.EditorFor(model => model.Prop1) @Html.EditorFor(model => model.Prop2) …我不能得到它为不同的类型显示不同的视图. 有没有办法消除歧义? 也许有更多关于.cshtml文件的命名约定的知识? 解决方法
您可以使用
this overload来指定要使用的编辑器的名称.有了这个,你可以命名你的EditorTemplates First.cshtml和Second.cshtml,然后在你的View里这样做.
@Html.EditorFor(model => model.Prop1,"First") @Html.EditorFor(model => model.Prop2,"Second") 但是,我建议避免在同一个项目中重复使用相同的类型名称,即使它们具有不同的命名空间.这样会导致读者阅读代码的混乱,甚至可能在路上.这是一个比不知道要使用什么模板的框架更大的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在Asp.net中运行外部可执行文件的内存限制
- 使用asp.net会员资格与sqlite或其他提供商?
- asp.net-mvc – 如何将数据从AuthorizeAttribute传递给Cont
- 在使用ASP.NET会话时是否可以强制请求并发?
- ASP.NET MVC 实现简单的登录
- asp.net-mvc – 如何在razor视图中公开全局对象像@User?
- asp.net-mvc – 用于ninject的ASP.NET MVC 3 Preview配置
- asp.net-mvc – 在ascx文件中使用Html.RenderPartial()
- “ASP.Net身份”如何与“Windows身份基金会”进行比较?
- .net – 部署预编译的Razor视图并删除Views文件夹?
推荐文章
站长推荐
- asp.net – AutoMapper:将集合中的项目值从一个
- asp.net-mvc – 一种在MVC环境中处理返回URL的智
- asp.net-web-api – WebAPI 2 – CORS无法使用co
- asp.net-mvc – 带有MVC Sitemap的Breadcrumb只显
- 在ASP.net应用程序中处理Com对象
- asp.net – HttpError iis config在添加默认路径
- asp.net-mvc – ASP.NET MVC讨论板
- asp.net – 如何为每个Azure部署插槽使用不同的w
- ASP.NET – 如何在User Control中使用Response.R
- WPF中ComboBox绑定数据库自动读取产生数据
热点阅读