Why can't I use Html.RenderPartial in the browser helper list in the App_Code folder?

A simple Razor helper in the App_Code folder:

MyHelper.cshtml

@using System.Web.Mvc

@helper SimpleHelper(string inputFor){
    <span>@inputFor</span>
    Html.RenderPartial("Partial");
}

Simple view in views / shared folder:

Myview.cshtml

<html>
    <head

    </head>
    <body>
        @WFRazorHelper.SimpleHelper("test")
    </body>
</html>

Simple partial view in views / shared folder:

Partial.cshtml

<h1>Me is Partial</h1>

The compiler gives an error:

CS1061: 'System.Web.WebPages.Html.HtmlHelper' enthält keine Definition für 'RenderPartial', und es konnte keine Erweiterungsmethode 'RenderPartial' gefunden werden, die ein erstes Argument vom Typ 'System.Web.WebHtp. (Fehlt eine Use-Direktive oder ein Assemblyverweis?).

But if I call Html.RenderPartial in MyView.cshtml, everything works fine.

, web.configs, HtmlHelper MyView System.Web.Mvc, HtmlHelper MyHelper.cshtml System.Web.WebPages.

?

+5
1

Html WebPage, . App_Code .

, HtmlHelper as, :

@using System.Web.Mvc.Html

@helper SimpleHelper(System.Web.Mvc.HtmlHelper html, string inputFor)
{
    <span>@inputFor</span>
    html.RenderPartial("Partial");
}

, HtmlHelper :

<html>
    <head>

    </head>
    <body>
        @WFRazorHelper.SimpleHelper(Html, "test")
    </body>
</html>
+11

All Articles