C# 在razor视图中缺少@using
在my_Layout.cshtml中,我有以下html代码C# 在razor视图中缺少@using,c#,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net Mvc,Asp.net Mvc 4,Razor,在my_Layout.cshtml中,我有以下html代码 @using PreVenta <li class="@Html.ActivePage("Home")"> <a href="@Url.Action("Index", "Home")"> <i class="fa fa-home"></i> <span class="title">Home</span> <
@using PreVenta
<li class="@Html.ActivePage("Home")">
<a href="@Url.Action("Index", "Home")">
<i class="fa fa-home"></i>
<span class="title">Home</span>
<span class="@Html.SelectedPage("Home")" />
</a>
</li>
主要问题是,当我尝试启动mi webapp时,我遇到了此错误
编译器错误消息:CS1061:“System.Web.Mvc.HtmlHelper”不包含“ActivePage”的定义找不到接受“System.Web”类型的第一个参数的扩展方法“ActivePage”。Mvc.HtmlHelper'(是否缺少using指令或程序集引用?)
请一些人帮我,因为我很困惑。谢谢您需要在要使用此帮助程序的视图中添加此命名空间 像
真奇怪。你能确保你的助手类是这样的吗 助手类
namespace PreVenta
{
public static class HtmlHelpers
{
public static string ActivePage(this HtmlHelper helper, string controller)
{
//your code
}
}
}
现在您可以像下面这样调用helper方法
查看
@Html.ActivePage("Home")
我已经找到了解决问题的办法 当visual studio无法成功编译项目时,会出现此问题 为了修复此问题,我清理了项目,尝试删除dll并重新编译以发布或调试
坦克到所有人,坦克到VisualRollStudio):@使用PreVenta意味着您正在添加名称空间。PreVenta是有效的命名空间吗?您应该显示您的命名空间声明。命名空间是命名空间PreVenta。助手文件在App_start folder中。你能显示完整的类吗?根据OP的说法,他试图在_布局中使用扩展方法。我已经找到了解决问题的方法。。。当visual studio无法成功编译项目时,会出现此问题。为了修复此问题,我清理了项目,尝试删除dll并重新编译以发布或调试。储罐至所有,储罐至VisualRollStudio):
namespace PreVenta
{
public static class HtmlHelpers
{
public static string ActivePage(this HtmlHelper helper, string controller)
{
//your code
}
}
}
@Html.ActivePage("Home")