在自定义Html帮助器中访问Model对象

bur*_*1ce 9 asp.net-mvc

我正在尝试创建一个自定义HTML帮助器,我想知道如何在不将其作为参数传递的情况下访问Model对象.

谢谢

Dar*_*rov 29

如果您使用强类型视图,您应该:

public static MvcHtmlString MyHelper<TModel>(this HtmlHelper<TModel> htmlHelper)
{
    TModel model = htmlHelper.ViewData.Model;
    return MvcHtmlString.Empty;
}
Run Code Online (Sandbox Code Playgroud)

如果您不使用强类型视图,则不应该:

public static MvcHtmlString MyHelper(this HtmlHelper htmlHelper)
{
    object model = htmlHelper.ViewData.Model;
    return MvcHtmlString.Empty;
}
Run Code Online (Sandbox Code Playgroud)