您好我的PagingHelpers类中有一个扩展方法:
namespace SportsStore.WebUI.HtmlHelpers
{
public static class PagingHelpers
{
public static MvcHtmlString PageLinks(this HtmlHelper html,
PagingInfo pagingInfo,
Func<int, string> pageUrl)
{
StringBuilder result = new StringBuilder();
for (int i = 1; i < pagingInfo.TotalPages; i++)
{
TagBuilder tag = new TagBuilder("a");
tag.MergeAttribute("href", pageUrl(i));
tag.InnerHtml = i.ToString();
if (i == pagingInfo.CurrentPage)
tag.AddCssClass("selected");
result.Append(tag.ToString());
}
return MvcHtmlString.Create(result.ToString());
}
}
}
这里我在List.cshtml中调用扩展方法:
@ Html.PageLinks(Model.PagingInfo, x => Url.Action("List", new {page = x}))
我收到了这个错误:
&#39; System.Web.Mvc.HtmlHelper&#39; 不包含&#39; PageLinks&#39;的定义。没有扩展方法 &#39; PageLinks&#39;接受第一个类型的参数 &#39; System.Web.Mvc.HtmlHelper&#39; 可以找到(你错过了使用指令或程序集 引用?)
我在Views文件夹中的web.config中添加了命名空间:
<pages>
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages"/>
<add namespace="SportsStore.WebUI.HtmlHelpers"/>**
</namespaces>
</pages>
请帮助我,我不知道如何解决这个问题
答案 0 :(得分:4)
尝试添加
@using SportsStore.WebUI.HtmlHelpers;
到.cshtml文件的顶部
您的命名空间方法也应该正常工作,因此请尝试关闭服务器重建解决方案并再次运行
答案 1 :(得分:3)
您似乎已将命名空间引用添加到根web.config文件。
如果您将MVC3与Razor视图引擎一起使用,则必须将名称空间引用添加到Views \ web.config文件中。然后,它将全局可用于View文件夹中的所有视图。
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="SportsStore.WebUI.HtmlHelpers"/>
</namespaces>
</pages>
</system.web.webPages.razor>
答案 2 :(得分:0)
看来你做的一切都是正确的。 在尝试使用Html帮助程序之前,您是否编译了Web项目?
答案 3 :(得分:0)
您需要在此行的代码上方添加List.cshtml
@model SportsStore.WebUI.Models.ProductsListViewModel