@helper 和 Url.Action

fra*_*ran 5 asp.net-mvc

我正在尝试将一些简单的代码提取到一个单独的辅助函数中

    @helper ShowPath()
    {
    <p class="migas">
    <a href="@Url.Action("Index", "Home")">Home</a>
   &gt; <a href="@Url.Action("Index", "AboutUs")">About Us</a>
   &gt; Directory</p>
}
Run Code Online (Sandbox Code Playgroud)

在原始 cshtml 文件中工作正常,但是当我将其解压缩到我放在 App_Code 文件夹中的单独文件时,@Url.Action 会导致编译错误。

我需要从调用页面传入 HTMLHelper 吗?如果是这样,任何想法如何?

Bas*_*nni 6

您需要将 传递UrlHelper给您的方法

@helper ShowPath(UrlHelper url)
{
    <p class="migas">
    <a href="@Url.Action("Index", "Home")">Home</a>
   &gt; <a href="@url.Action("Index", "AboutUs")">About Us</a>
   &gt; Directory</p>
}
Run Code Online (Sandbox Code Playgroud)

然后从一个角度来看,

@YouAppCodeName.ShowPath(Url)
Run Code Online (Sandbox Code Playgroud)