【问题标题】:ASP.NET MVC 3 Lambda (=>) SyntaxASP.NET MVC 3 Lambda (=>) 语法
【发布时间】:2012-01-20 05:35:21
【问题描述】:

请,谁能告诉我 => 运算符在 Html 辅助语法中的含义。

例如:@Html.TextBoxFor(m => m.UserName)

【问题讨论】:

    标签: asp.net-mvc-3 razor


    【解决方案1】:

    它并不特定于 Razor 引擎。那是一个 C# lambda 表达式。

    【讨论】:

      【解决方案2】:

      m => m.Username相当于提供一个方法,类似

      string GetUserName(TypeOfModel m)
      {
         return m.UserName;
      }
      

      但是,因为TextBoxFor takes an Expression,它能够“解析” lambda,并能够推断 TextBox 输入的名称应该是 'Name'(即从模型中删除的属性)。这很重要且“直观”,因为 MVC ModelBinder 将能够在下次将“名称”发送回控制器时将其映射到属性或参数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-25
        • 2012-04-27
        • 2012-06-20
        相关资源
        最近更新 更多