asp.net-mvc – 在ASP.NET MVC 2中模板化Html.DisplayFor()
看来,如果您只使用 Html.DisplayFor(model => model)而没有模板用于Details视图,则生成的标记将如下所示: <div class="display-label">first name</div> <div class="display-field">Dan</div> <div class="display-label">last name</div> <div class="display-field">M</div> <div class="display-label">email</div> <div class="display-field">danm@fakedomain.com</div> 这具有相当程度的灵活性.如果你为display-label和display-field创建CSS类,你可以做很多,但是如果我想把它改成这样的话怎么办? <p> <span class="display-label">first name</span>: <span class="display-field">Dan</span> </p> <p> <span class="display-label">last name</span>: <span class="display-field">M</span> </p> <p> <span class="display-label">email</span>: <span class="display-field">danm@fakedomain.com</span> </p> 请注意,现在属性值对现在并排显示(而不是在单独的行上),并且每个属性后面都有一个冒号. 有没有办法创建一个自定义模板,当详细信息视图是脚手架时,将为每个属性值对重复这些模板? 我不是在谈论模型的特定模板(例如,Person模板)或特定属性的模板(例如,EmailAddress模板).我想要一些让我描述属性 – 值对看起来的东西,然后DispalyFor()应该自动为我的模型或视图模型中的每个属性重复该模板. 解决方法如何覆盖对象模板,例如<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> <% if (ViewData.TemplateInfo.TemplateDepth > 3) { %> <%= ViewData.ModelMetadata.SimpleDisplayText %> <% } else { %> <table> <% foreach (ModelMetadata prop in ViewData.ModelMetadata.Properties.Where(pm => pm.ShowForDisplay && !ViewData.TemplateInfo.Visited(pm))) { %> <% if (prop.HideSurroundingHtml) { %> <%= Html.Display(prop.PropertyName) %> <% } else { %> <tr> <td> <div class="display-label" style="text-align: right;"> <%= Html.Label(prop.PropertyName) %> </div> </td> <td> <div class="display-field"> <%= Html.Display(prop.PropertyName) %> <%= Html.ValidationMessage(prop.PropertyName,"*") %> </div> </td> </tr> <% } %> <% } %> </table> <% } %> 见http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-4-custom-object-templates.html (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.NET MVC V2 – 好友类
- asp.net-mvc – 允许一个人一次使用帐户的可重用方式
- 在ASP.NET MVC4中是否可以将C#或VB函数标记为Javascript?
- asp.net-mvc – 在ASP.NET MVC中添加服务引用4
- 如何使用ASP.NET MVC Web API OData链接到Razor中的OData集
- 如何将数组从Asp.net服务器端传递到客户端的Javascript函数
- ASP.NET MVC 4 JSON绑定到视图模型 – 嵌套对象错误
- asp.net – 在IHTTPHandler中以编程方式创建System.Web.UI.
- asp.net-mvc-4 – AngularJs,DropZone.Js,MVC4 – 拖放,预览
- asp.net – 在fileupload中选择立即调用C#函数文件
- asp.net-mvc – 在MVC Controller中访问GET参数
- ASP.NET MVC是否使Web表单成为旧版平台?
- Asp.net webForm设置允许表单提交Html的方法
- asp.net-mvc – 当我不知道内容类型时如何返回文
- ASP.NET清空缓存时遇到的问题简析
- asp.net-mvc-3 – 为什么@ Html.Label()删除一些
- 模型 – 视图 – 控制器 – ASP.NET WebForms vs
- WPF中ComboBox绑定数据库自动读取产生数据
- 使用Asp.net Web API时,使用DataContract和DataM
- asp.net – ASP MVC – 默认的HTTP标头有任何常量