Я создаю веб-сайт ASP.Net MVC. Вместо того, чтобы объединять все в одном проекте, я решил разделить сеть, модель и контроллер на разные проекты в одном решении, которые ссылаются друг на друга.
Ссылка выглядит так:
Интернет --- [ссылки] ---> Контроллер --- [ссылки] ---> Модель
Теперь я хотел добавить 2 собственных метода в класс HtmlHelper - они называются «IncludeScript» и «IncludeStyle». Каждый из них принимает один строковый параметр и генерирует тег скрипта или ссылки соответственно.
Я создал класс-расширитель в соответствии с документацией в Интернете, написал два метода и скомпилировал приложение.
Теперь, когда я захожу на страницу 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);
Есть идеи, что здесь может быть не так?