【发布时间】:2012-01-20 05:35:21
【问题描述】:
请,谁能告诉我 => 运算符在 Html 辅助语法中的含义。
例如:@Html.TextBoxFor(m => m.UserName)
【问题讨论】:
标签: asp.net-mvc-3 razor
请,谁能告诉我 => 运算符在 Html 辅助语法中的含义。
例如:@Html.TextBoxFor(m => m.UserName)
【问题讨论】:
标签: asp.net-mvc-3 razor
它并不特定于 Razor 引擎。那是一个 C# lambda 表达式。
【讨论】:
m => m.Username相当于提供一个方法,类似
string GetUserName(TypeOfModel m)
{
return m.UserName;
}
但是,因为TextBoxFor takes an Expression,它能够“解析” lambda,并能够推断 TextBox 输入的名称应该是 'Name'(即从模型中删除的属性)。这很重要且“直观”,因为 MVC ModelBinder 将能够在下次将“名称”发送回控制器时将其映射到属性或参数。
【讨论】: