Ссылка на пространство имен в .NET MVC3 Razor view в VB? - PullRequest
3 голосов
/ 25 января 2011

Как мне ссылаться на пространство имен в .NET MVC3 с помощью движка Razor?

Я понимаю, что это можно сделать в C #:

@using Namespace;

Однако в VB это не такпохоже, работает:

@Imports Namespace

(я говорю о .vbhtml файле)

Ответы [ 2 ]

3 голосов
/ 25 января 2011

Вы используете правильный синтаксис для VB:

@Imports My.Full.Namespace

В быстрой игре я обнаружил:

  • Subпространства имен проекта MVC будут выбраны intellisense после добавления оператора @Imports - должно быть полным пространством имен.
  • Если вы ссылаетесь на пространство имен вне текущего проекта MVC, то intellisense неподнимите его, если не сделаете перестройку.
0 голосов
/ 01 июля 2016

@ Джонатан правильный, это правильный синтаксис, и ему нужно полное пространство имен ваших методов расширения.

Если ваши методы расширения все еще не распознаны, вам может потребоваться вставить этот импорт перед вашим собственным пространством имен:

@Imports System.Web.Mvc.HtmlHelper

Когда я добавил этот intellisense, я предложил свои методы расширения. Я думаю, что это связано с наличием ссылки на System.Web.WebPages, которая также определяет класс HtmlHelper. Возможно, это объясняет, почему перенос кода в новый проект решил проблему.

К сожалению, проблема intellisense в операторе Import по-прежнему сохраняется, и пространство имен не увеличивается.

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

...