3

たとえば、

@Html.TextBoxFor(v => Model.Text);

フォームを送信すると、TextBoxの値が自動的にに割り当てられModel.Textます。

このようなカスタムHTMLヘルパーを作成したいと思います。

HTMLを表示するためのこのような拡張メソッドの記述方法は知っていますが、値を割り当てるための動作をプログラムする方法を知っていますModel.WhatEver

タグクラウドを構築したいので、次のような方法でタグクラウドを含めることをお勧めします。

@Html.TagCloud(v => Model.SelectedTags, Model.AvailableTags)

HTMLヘルパーはHTMLを出力するだけですが、どうすれば値を割り当てることができますModel.SelectedTagsか?

4

1 に答える 1

0

このメソッドがどのように定義されているかを確認してください。

public static MvcHtmlString TextBoxFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression);

これは、静的クラスのジェネリック拡張メソッドであり、を返しMvcHtmlStringます。自分で作成して、web.configを介してビューに挿入するだけです。

<pages>
  <namespaces>
    <add namespace="NameSpaceWithYourClass" />

このメソッドはthis HtmlHelper<TModel>、拡張パラメーターおよび Expression<Func<TModel, TProperty>> expressionプロパティを選択するための式として使用する必要があることを覚えておいてください。問題はありません。

ところで:HTMLは非常に複雑になる可能性があるため、必要に応じて部分ビューを使用する方がよいと思います。

于 2012-11-17T18:51:32.270 に答える