我有一個HtmlHelper擴展方法,它從數據庫緩存中提取本地化的文本。代碼就是這樣。 (MVCWeb是我的MVC應用程序的命名空間。)在區域內的視圖中使用MVC HtmlHelper擴展方法
using System.Web;
using System.Web.Mvc;
namespace MVCWeb.PresentationExtensions
{
public static class HtmlHelperExtensions
{
public static HtmlString GetText(this HtmlHelper Html, string keyword)
{
// code to get the text based on the keyword
}
}
}
我使用我的觀點@using MVCWeb.PresentationExtensions
。在〜/ Views文件夾中,調用擴展方法是完美的。
我最近添加了一個區域。我在〜/ Areas/AreaName/Views文件夾中的視圖文件中使用了擴展方法,並且代碼正在編譯,並且可以正常工作,但是我在IDE中收到錯誤。
我每次使用@Html.GetText("SomeKeyword")
從區域視圖中,會顯示錯誤名單上有以下兩個錯誤。
- 「System.Web.WebPages.Html.HtmlHelper」不包含關於「的getText」的定義和最佳的擴展方法過載「MVCWeb.PresenationExtension.HtmlHelperExtensions.GetText(System.Web.Mvc.HtmlHelper,串)」有一些無效參數
- 實例參數:無法從轉換‘System.Web.WebPages.Html.HtmlHelper’到‘System.Web.Mvc.HtmlHelper’
我已經想通了,在〜 /瀏覽次數,@Html有以下代碼註釋:
HtmlHelper<dynamic> WebViewPage<dynamic>.Html
Gets or sets the System.Web.Mvc.HtmlHelper object that is used to render HTML elements.
在〜/地區/ AREANAME /瀏覽次數,@Html有這些評論:
HtmlHelper WebPage.Html
Gets the System.Web.WebPages.Html.HtmlHelper object that is associated with a page.
僅供參考,我的web.config文件在〜/瀏覽次數和〜/地區/ AREANAME /瀏覽次數匹配。這是.NET 4.5上的MVC4應用程序,並未從MVC的先前版本轉換。
- @Html在常規視圖和區域視圖中被定義爲不同類型是否正常?
- 如果IDE顯示錯誤,爲什麼編譯和運行正確?這是一個IDE錯誤?
- 如何阻止這些錯誤在IDE中顯示?