2

フォームからデータを取得するはずのコントローラーにデータをポストできるアプレットを作成したいと考えています。私の問題は、ASP.NET MVC が各プロパティの HTML コントロールを作成するために使用する NAME および ID 属性をプログラムで取得する方法がわからないことです (投稿に使用するためにアプレットにフィードできるようにするため)。

APS.NET MVC がモデル変数の HTML コントロールを構築するときに使用する NAME および ID 属性値を取得するにはどうすればよい@Html.TextAreaFor()ですか (たとえば、 を使用する場合)。

編集: NAME 属性だけが必要だと思います。リフレクションを使用してこれを取得できるようですが、よくわかりません...

4

2 に答える 2

1

次のような html ヘルパーを作成して、モデル プロパティの html 名を取得できます。

public static string FullHtmlNameFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression)
    {
        if (htmlHelper == null) { throw new ArgumentNullException("htmlHelper"); }
        if (expression == null) { throw new ArgumentNullException("expression"); }

        return htmlHelper.ViewData.TemplateInfo.GetFullHtmlFieldName(ExpressionHelper.GetExpressionText(expression));
    }
于 2013-03-29T16:25:26.713 に答える
1

今もある

Html.FieldNameFor()
Html.FieldIdFor()
于 2014-06-16T14:33:52.703 に答える