Я создаю веб-сайт ASP.Net MVC. Вместо того, чтобы иметь все в одном проекте, я решил разделить Web, Model и Controller на разные проекты в одном решении, которые ссылаются друг на друга.
Ссылка выглядит так:
Веб --- [ссылки] ---> Контроллер --- [ссылки] ---> Модель
Теперь я хотел добавить 2 пользовательских метода в класс HtmlHelper - они называются «IncludeScript» и «IncludeStyle». Каждый из них принимает один строковый параметр и генерирует скрипт или тег ссылки соответственно.
В соответствии с документацией в Интернете я создал класс extender, написал два метода и скомпилировал приложение.
Теперь, когда я захожу на страницу Public.Master (которая является моей главной мастер-страницей и одним из мест, где я собираюсь использовать эти методы), я могу ввести код, например ниже:
<%= Html.IncludeScript("\js\jquery.js") %>
IntelliSense выбирает метод IncludeScript и показывает мне синтаксис просто отлично. Так что я ожидаю, что все должно работать.
Но это не так.
Все компилируется, но как только я запускаю приложение, я получаю следующую ошибку во время выполнения из строки 14 Default.aspx.cs:
c:\\Projects\\PhoneReel\\PhoneReel.Web\\Views\\Shared\\Public.Master(11): error CS0117: 'System.Web.Mvc.HtmlHelper' does not contain a definition for 'IncludeScript'
Вот строка кода, на которой происходит ошибка:
httpHandler.ProcessRequest(HttpContext.Current);
Есть идеи, что здесь может пойти не так?