如何在ASP.NET MVC 5的自定义html-helper中使用Html.Partial()?

时间:2019-02-04 09:49:23

标签: asp.net-mvc razor html-helper

我想创建一个与页面html-helper分开的自定义控件,该自定义控件将使用部分视图功能,但是由于某些原因Html.Partial("_partialName")不起作用

App_Code中单独的cshtml文件的内容:

@helper MyHelper(IEnumerable<string> something)
{
    <div>@Html.Partial("_viewName", something)</div>   
}

如何像在Razor视图页面中一样使用Html.Partial

1 个答案:

答案 0 :(得分:0)

您不能仅使用助手方法来调用Html.Partial("_name", model);PartialHtmlHelper类型的扩展方法,而Html是View(继承自WebViewPage<TModel>)的属性。您可以通过转到视图(或局部视图)并导航到Html的定义来进行检查。

从助手中调用它是没有意义的,因此它没有对象公开Html类型WebViewPage<TModel>类型的可访问属性。实际上,它是CustomHtml类的实例。尝试同时在视图和帮助程序中编写@this.。您将看到它们的不同之处。