$("img[data-src]")
- более быстрый селектор, так как ему нужно будет только взглянуть на теги img
, где $("[data-src]")
будет смотреть на каждый элемент в DOM с этим атрибутом.
Проверьте, чтобы удостовериться, что пространство имен Ваших расширений доступно для нашего представления. Вам нужен любой это в Вашем представлении:
<%@ Import Namespace="MyRootNamespace.NamespaceForMyHtmlHelperExtensions"%>
или это в Вашем веб-разделе пространств имен конфигурации:
<add namespace="MyRootNamespace.NamespaceForMyHtmlHelperExtensions"/>
Удостоверьтесь, что имели директиву импорта к своему пространству имен методов расширений на Вашей странице.
Иначе Visual Studio смогла видеть, но Ваш веб-сайт не сможет.
Вы уверены, что компилятор установлен на Платформу.NET 3.5? Это произошло со мной, когда я непреднамеренно установил компилятор на Платформу.NET 2.0
В IncludeScript метод удостоверяется, что то, что Вы расширяете, является Системой. Сеть. Mvc. HtmlHelper. Возможно, что в некотором другом пространстве имен существует HtmlHelper.
Если вы используете сильно напечатанные представления , и ваш метод расширения является расширением HtmlHelper<объект>
, то он не найдет расширение. Для расширения HtmlHelper
необходимо создать универсальный расширитель.
public static string IncludeScript<T>(this HtmlHelper<T> html, string url) {
return "<script type=\"text/javascript\" src=\"" + url + "\"></script>";
}
Тогда вы увидите, что ваш метод-расширитель появится.
Надеюсь, это поможет.