6

ViewModel(IEnumerableではない)をカスタムhtmlヘルパーに渡したい

私はこのようにIEnumerableでやっていた:

ヘルパー:

public static IHtmlString GenerateTable<TModel, TValue>(this HtmlHelper<TModel> inHtml, IEnumerable<TValue> model)

意見:

@Html.GenerateTable(Model)

しかし、IEnumerableではないモデルをヘルパーに渡すにはどうすればよいですか?

私はこれを試しました:

public static MvcHtmlString MyHelper<TModel>(this HtmlHelper<TModel> html, object obj)
        {}

しかし、私がそれをこのように呼ぶとき

@Html.MyHelper(Model)

objは常にNULL

4

2 に答える 2

11

このようにしてみてください:

public static MvcHtmlString MyHelper<TModel>(this HtmlHelper<TModel> htmlHelper)
{
    TModel model = htmlHelper.ViewData.Model;
    // TODO: do something with the model ...
}

強く型付けされたビューでは:

@model MyViewModel
@Html.MyHelper()
于 2012-09-23T12:58:51.787 に答える
2

私はあなたのコードを試しましたが、モデルが初期化されていれば問題なく動作します......したがって、@ nemesvが提案したことを確認する必要があると思いますが、ビューを呼び出してモデルを渡します......そこでモデルをチェックし、nullでないことを確認する必要があります

于 2012-09-23T10:37:58.397 に答える