4

如何使用 Razor 视图引擎在 .NET MVC3 中引用命名空间?

我知道这可以在 C# 中完成:

@using Namespace;

但是在 VB 中这似乎不起作用:

@Imports Namespace

(我说的是 .vbhtml 文件内部)

4

2 回答 2

4

您正在为 VB 使用正确的语法:

@Imports My.Full.Namespace

我在快速游戏中发现的是:

  • MVC 项目的子命名空间将在添加语句后被 Intellisense 拾取@Imports- 必须是完整的命名空间。
  • 如果您引用当前 MVC 项目之外的命名空间,则智能感知不会拾取它,除非您进行重建。
于 2011-01-25T03:55:07.693 回答
0

@Jonathan 是正确的,它是正确的语法,它需要扩展方法的完整命名空间。

如果您的扩展方法仍未被识别,您可能需要在您自己的命名空间之前插入此导入:

@Imports System.Web.Mvc.HtmlHelper

当我添加这个智能感知提供了我的扩展方法。我认为这与对 System.Web.WebPages 的引用有关,它还定义了一个 HtmlHelper 类。也许这解释了为什么将代码迁移到新项目可以解决问题。

不幸的是,Import 语句的智能感知问题仍然存在,它没有提供命名空间。

我意识到这个答案来得有点晚,但是这让我耽误了半天时间——希望它可以帮助其他人避免这个陷阱。

于 2016-06-30T21:50:14.460 回答