我希望能够做到这样的事情:
<input name=@Model.SomeProperty (as the actual property name and not its value) value=@Model.SomeProperty type="text/>
这样模型绑定仍然有效,但我不需要使用Razor助手。
答案 0 :(得分:1)
您可以添加一个返回您的DisplayName的帮助方法:
public static MvcHtmlString GetPropertyName<TModel, TProperty>( this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression )
{
var metaData = ModelMetadata.FromLambdaExpression<TModel, TProperty>(expression, htmlHelper.ViewData);
string value = metaData.PropertyName ?? expressionHelper.GetExpressionText(expression);
return MvcHtmlString.Create(value);
}
然后你只需使用:@ Html.GetPropertyName(m =&gt; m.SomeProperty)