хорошо, моя проблема была связана с пространством имен ... так что я имею в \ Views \ Shared \ HtmlHelpers.cs:
public static class Html
{
public static MvcHtmlString Image(this HtmlHelper helper, string src, object htmlAttrs = null)
{
, к которому я обычно обращаюсь со своих страниц следующим образом:
@Html.Image("/path/to/image")
в App_Code \ Helpers.cshtml:
@helper AddButton(string path)
{
var Html = ((System.Web.Mvc.WebViewPage) WebPageContext.Current.Page).Html;
@Html.Image(path);
}
но Intellisense подчеркнет «Имидж» и пожалуется:
'System.Web.Mvc.HtmlHelper<object>' does not contain a definition for 'Image'
and no extension method 'Image' accepting a first argument of type
'System.Web.Mvc.HtmlHelper<object>' could be found (are
you missing a directive or an assembly reference?)
причина, по-видимому, заключается в том, что Helpers.cshtml должен иметь @using
для пространства имен ... на моих обычных страницах пространство имен включено в мой web.config, но эта страница кажется освобожденной от этого механизма