こんにちは、私は私のPagingHelpersクラスの拡張メソッドを持っている:MVC拡張メソッドエラー
そして私Html.PageLinks(Model.PagingInfo, x => Url.Action("List", new {page = x}))
@:ここ
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());
}
}
}
iはList.cshtmlで拡張メソッドを呼び出しますこのエラーが発生しました:
'System.Web.Mvc.HtmlHelper' does not contain a definition for 'PageLinks' and no extension method 'PageLinks' accepting a first argument of type 'System.Web.Mvc.HtmlHelper' could be found (are you missing a using directive or an assembly reference?)
ビューフォルダ内の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>
私を助けてください、私はこの問題を解決できる方法がわからない
を追加する必要があります。ありがとうございました! – mrtn
問題はありませんが、ネームスペースのアプローチもうまくいくはずですので、サーバーを撃墜してソリューションを再構築して再実行してください。おそらく@usingステートメントなしで動作します –
views/web.configに名前空間を追加するだけで十分です。私は、プロジェクトがHTMLヘルパー拡張を使用しようとする前に再コンパイルされていなかったと考えています。 – santiagoIT