我遇到了UrlHelper類的擴展問題,因爲它們沒有被拾取。到目前爲止,我已經完成了以下工作:剃刀導入命名空間
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>
我錯過了什麼,因爲谷歌沒有提出任何不同的東西?
的代碼如下(與非相關的東西剝離出來):
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);
}
}
}
是否在「Web.Config」中爲'節添加了引用'? –
Eranga
對不起,這就是我要說的第一點,謝謝 – Chewy