UrlHelperクラスの拡張機能で問題が発生しています。これまで私は次のことを行ってきました:Razor imported namespace
1)Viewsフォルダにあるweb.configのセクションに名前空間を追加しました。私はまた、web.configのメインに追加しました。
<system.web.webPages.razor>
2)は、csprojファイル内System.Web.Mvc参照がMVC3のためであることを確認しました。また、System.Web.WebPagesとSystem.Web.Helpersの参照が含まれていることを確認しました。
3)csproj ProjectTypeGuidsが正しいことを確認してください。
{E53F8FEA-EAE0-44A6-8774-FFD645390401};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
4)はbindingRedirectがMVC3を指していることをチェックします。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Googleには何か別のものはありません。
コードは(非関連のものが取り除かで)次のとおりです。
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="NAMESPACE OF YOUR EXTENSION CLASS" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
および/リロードをアンロード:このに追加するフォルダービューの下のweb.configファイルで
namespace MyNameSpace.Controllers.Extensions
{
using System.Web.Mvc;
using System.Web.Routing;
using Contracts.Entities;
using Controllers.Routing;
public static class UrlHelperExtensions
{
public static string BrowseLink(this UrlHelper urlHelper, ICategory category)
{
var routeValueDictionary = new RouteValueDictionary
{
{ "categorypath", BrowsePath.Serialize(catagory) },
{ "pagenumber", "1" }
};
return urlHelper.Action("Index", "Browse", routeValueDictionary);
}
}
}
u Web.Configの ''セクションへの参照を追加しましたか? '? –
Eranga
申し訳ありませんが、私はポイント1で意味したことです。 – Chewy