Ссылка на пространство имен в.NET MVC3 Razor view в VB?
Как мне ссылаться на пространство имен в.NET MVC3 с помощью движка Razor?
Я понимаю, что это можно сделать в C#:
@using Namespace;
Однако в VB это не похоже на работу:
@Imports Namespace
(я говорю о файле.vbhtml)
2 ответа
Вы используете правильный синтаксис для VB:
@Imports My.Full.Namespace
Что я нашел в быстрой тренировке:
- Подпространства имен проекта MVC будут выбраны intellisense, как только
@Imports
оператор добавлен - должен быть полным пространством имен. - Если вы ссылаетесь на пространство имен за пределами текущего проекта MVC, то intellisense не получит его, если вы не перестроите его.
@Jonathan правильный, это правильный синтаксис и ему нужно полное пространство имен ваших методов расширения.
Если ваши методы расширения все еще не распознаны, вам может потребоваться вставить этот импорт перед вашим собственным пространством имен:
@Imports System.Web.Mvc.HtmlHelper
Когда я добавил это intellisense, предложили свои методы расширения. Я думаю, что это связано с наличием ссылки на System.Web.WebPages, которая также определяет класс HtmlHelper. Возможно, это объясняет, почему перенос кода в новый проект решил проблему.
К сожалению, проблема intellisense в операторе Import по-прежнему сохраняется, и пространство имен не увеличивается.
Я понимаю, что этот ответ несколько поздно пришёл, однако это задержало меня на полдня - надеюсь, это поможет кому-то другому избежать этой ловушки.