Ссылка на пространство имен в.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 по-прежнему сохраняется, и пространство имен не увеличивается.

Я понимаю, что этот ответ несколько поздно пришёл, однако это задержало меня на полдня - надеюсь, это поможет кому-то другому избежать этой ловушки.

Другие вопросы по тегам