Методы расширения MVC2, бросающие ошибки в мои представления - PullRequest
0 голосов
/ 21 ноября 2011

У меня есть проект, написанный на MVC2 и VB.NET.Я использую много методов расширения htmlhelper, и все они находятся в общедоступном модуле.Они отлично работают, и я могу скомпилировать и запустить свой проект.Я ссылаюсь на пространство имен, в котором они находятся:

<%@ Import Namespace="MyProject.WebUI.Extensions" %>

Итак, они снова отлично работают, мой проект запускается и компилируется без помех.

Проблема в том, что каждый из этихМетоды расширения отображаются как ошибка:

Ошибка 33 «TabbedMenu» не является членом «System.Web.Mvc.HtmlHelper (Of Object)».C: \ Projects \ MyProject \ MyProject.WebUI \ Views \ Shared \ Site.Master 23 21 MyProject.WebUI

Это не мешает компиляции и запуску проекта, просто создает ошибку,что раздражаетЯ пытался найти решения, но все решения, которые я нашел, были для проектов, которые не компилируются, все с простыми решениями, такими как ссылки на правильное пространство имен или обеспечение того, чтобы ваш модуль был объявлен общедоступным.Есть мысли?

Ответы [ 2 ]

0 голосов
/ 22 ноября 2011

Вам необходимо импортировать пространство имен, в которое вы поместили расширение.И поскольку немного раздражает, что эта проблема появляется не раньше, чем во время выполнения, вы можете включить view compilation , чтобы компилятор обнаружил проблему.Я должен предупредить вас, что компиляция представлений - это трудоемкая операция.

0 голосов
/ 22 ноября 2011

Вы включили оператор импорта в свой сайт. Мастер должен включать класс расширений, в котором определены ваши расширения.Также я предполагаю, что ваш класс расширения является публичным статическим классом с определенными публичными статическими методами?

Также проверьте это, если вы этого еще не сделали, это может быть связано с тем, что вы ищете.

Как использовать метод расширения в ASP.NET MVC View?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...