为什么我不能在App_代码文件夹的razor helper视图文件中使用Html.RenderPartial?

为什么我不能在App_代码文件夹的razor helper视图文件中使用Html.RenderPartial?,razor,html-helper,renderpartial,app-code,Razor,Html Helper,Renderpartial,App Code,App_代码文件夹中的简单剃须刀帮助器: MyHelper.cshtml @使用System.Web.Mvc @助手SimpleHelper(字符串输入){ @输入 Html.RenderPartial(“部分”); } 视图/共享文件夹中的简单视图: MyView.cshtml Html是网页的属性,因此您只能在视图中访问它。应用程序代码文件夹中的自定义帮助程序无权访问它 因此,如果需要在内部使用,则需要将HtmlHelper作为参数传递: @using System.Web.Mvc.

App_代码文件夹中的简单剃须刀帮助器:

MyHelper.cshtml

@使用System.Web.Mvc
@助手SimpleHelper(字符串输入){
@输入
Html.RenderPartial(“部分”);
}
视图/共享文件夹中的简单视图:

MyView.cshtml



Html
是网页的属性,因此您只能在视图中访问它。应用程序代码文件夹中的自定义帮助程序无权访问它

因此,如果需要在内部使用,则需要将
HtmlHelper
作为参数传递:

@using System.Web.Mvc.Html

@helper SimpleHelper(System.Web.Mvc.HtmlHelper html, string inputFor)
{
    <span>@inputFor</span>
    html.RenderPartial("Partial");
}
@使用System.Web.Mvc.Html
@helper SimpleHelper(System.Web.Mvc.HtmlHelper html,字符串输入)
{
@输入
html.RenderPartial(“部分”);
}
然后通过从视图中传递HtmlHelper实例来调用自定义帮助器:

<html>
    <head>

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

@WFRazorHelper.SimpleHelper(Html,“测试”)

no对我不起作用。首先是一个简单的语法错误,因为“{”}”,删除它们后,我会因为引用不明确而得到一个错误。['HtmlHelper'是'System.Web.WebPages.Html.HtmlHelper'和'System.Web.Mvc.HtmlHelper'之间的模糊引用。您可以显式指定函数中的类型。还请注意,您应该使用System.Web.Mvc.Html包含
@using System.Web.Mvc
而不是
@using System.Web.Mvc
查看我的更新答案。我也使用mv尝试了
@c=System.Web.Mvc@helper SimpleHelper(字符串inputFor,Mvc.HtmlHelper wvp){@inputFor wvp.RenderPartial(“部分”);}
请查看我的更新答案,并使用此处显示的正确代码。你知道问题出在哪里吗?我已经尝试了完全相同的代码,但总是出现相同的错误,但我从未构建过它。这次我构建了它,但突然警告和错误消息消失了。谢谢!
<h1>Me is Partial</h1>
@using System.Web.Mvc.Html

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

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