0

我希望能够执行以下操作:

<input name=@Model.SomeProperty (as the actual property name and not its value)  value=@Model.SomeProperty type="text/>

所以模型绑定仍然有效,但我不需要使用 Razor 助手。

4

1 回答 1

1

您可以添加返回您的 DisplayName 的 Helper 方法:

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 => m.SomeProperty)

于 2012-05-13T19:24:04.383 回答