代码之家  ›  专栏  ›  技术社区  ›  jason

在asp.NETMVC2中,如何对不直接属于模型的对象使用DisplayFor()?

  •  2
  • jason  · 技术社区  · 15 年前

    我肯定我错过了一些很简单的东西。我已经创建了一个自定义日期时间显示模板。使用以下工具时效果良好:

    <%= Html.DisplayFor(x=>x.DateTimeProperty) %>
    

     <% foreach (var item in Model) { %>
           <%= Html.Encode(item.DateTimeProperty)  %>
     <% } %>
    

    我该怎么做?

    1 回复  |  直到 15 年前
        1
  •  1
  •   jason    15 年前

    <%= Html.DisplayFor(x=>item.ReviewDate, "DateTime") %>
    

    我的自定义显示模板(名为:DateTime)定义为:

    <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DateTime?>" %>
    <% 
        string value = (Model.HasValue ? Model.Value.ToShortDateString() : ""); 
    %>
    <%= Html.Encode(value) %>
    

    我想我没有意识到当您声明lambda时,您不必使用'=>'左侧的变量完全。我一直认为这是强制性的。