我试图将一些简单的代码提取到一个单独的帮助函数
@helper ShowPath()
{
<p class="migas">
<a href="@Url.Action("Index", "Home")">Home</a>
> <a href="@Url.Action("Index", "AboutUs")">About Us</a>
> Directory</p>
}
在原始cshtml文件中正常工作,但当我将其解压缩到我放在App_Code文件夹中的单独文件时,@ Url.Action会导致编译错误。
我是否需要从调用页面传入HTMLHelper?如果是这样,任何想法如何?
答案 0 :(得分:4)
您需要将UrlHelper
传递给您的方法
@helper ShowPath(UrlHelper url)
{
<p class="migas">
<a href="@Url.Action("Index", "Home")">Home</a>
> <a href="@url.Action("Index", "AboutUs")">About Us</a>
> Directory</p>
}
然后从视图中
@YouAppCodeName.ShowPath(Url)
答案 1 :(得分:0)
试试这个
@using System.Web.Mvc
@using System.Web.Mvc.Html
@helper ShowPath(WebViewPage page)
{
<p class="migas">
<a href="@page.Url.Action("Index", "Home")">Home</a>
> <a href="@page.Url.Action("Index", "AboutUs")">About Us</a>
> Directory</p>
}
当您在页面上调用它时,请将此作为参数发送。如果您将来需要帮助,它可以让您访问所有帮助者。