ASP.NET MVC编辑器模板和Html.EditorFor(…) – 如何消除类型名称的歧义?
发布时间:2020-05-22 20:16:17 所属栏目:asp.Net 来源:互联网
导读:在Razor语法中使用此 HTML助手时: @Html.EditorFor(model = model.Prop1) …该约定是将视图呈现在视图/ CrtView | Shared /EditorTemplates/Prop1TypeName.cshtml下. 到现在为止还挺好.请注意,如果Prop1的(限定)类型为my.org.ns.TheType,则将呈现文件TheType
|
在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-web-api – owin cors或web api cors
- asp.net – 为什么removeServerHeader在Azure Web App中工作
- asp.net-mvc – ASP .Net MVC 3:子动作和重定向
- asp.net – 我如何使用AJAX来确定用户的会话是否已过期,然后
- asp.net-mvc – Asp.net MVC 3验证在TryUpdateModel中排除了
- asp.net – 如何获取当前的月份和年份
- asp.net – ERR_CONNECTION_RESET:上传大文件时重置了连接
- asp.net – 如何使用PSAKE发布网站
- asp.net – 是否有任何使用自动生成的视觉工作室标签
- asp.net-mvc-3 – 是否有自动方式在MVC中查找未使用的视图?
推荐文章
站长推荐
- asp.net-mvc-3 – MVC3和认证
- 使用ASP.Net编辑表格 – Quick’n Dirty
- asp.net-mvc – 使用表单身份验证在ASP.NET MVC上
- 发布ASP.NET应用程序时,是否应该将构建类型更改为
- asp.net – 如何填写一个Label.Text – 通过jQue
- asp.net-mvc – ASP.NET MVC从预览5升级到Beta版
- asp.net – 使用Global.asax有什么优点和缺点?
- asp.net-mvc – 如何在asp.net mvc中使用SOAP
- asp.net – 与Entity Framework中的联结表有多对
- ASP.NET Identity 2是否使用machinekey来密码密码
热点阅读
