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 を返すヘルパー メソッドを追加できます。

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 に答える