MVC视图的命名空间问题 - Razor引擎

时间:2011-02-26 15:49:33

标签: asp.net-mvc-3

我将System.Web.DataVisualization的引用添加到我的MVC项目中。 现在,当我尝试将命名空间添加到我的web.config时,我收到错误

CS0234:名称空间“System.Web.UI”中不存在类型或命名空间名称“DataVisualization”(您是否缺少程序集引用?)

然后我尝试在我的控制器中使用相同的内容。这非常有效。

using System.Web.UI.DataVisualization;

然后同样应该在我的Razor视图中起作用

所以我尝试在我的Razor视图中使用它

@using System.Web.UI.DataVisualization;

这再一次不起作用给我同样的错误

为什么我可以在控制器中使用命名空间而不是在我的视图中?

我错过了什么......

2 个答案:

答案 0 :(得分:7)

如果你转到项目参考,转到“System.Web.DataVisualization”上的属性,然后将“CopyLocal”设置为true,那么你就可以把

@using System.Web.UI.DataVisualization
在你的Razor视图中

答案 1 :(得分:0)

这让我很好奇,所以我自己试了一下。 它工作正常。 确保将命名空间添加到“Views”文件夹(而不是根web.config)中的Web.Config。

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.UI.DataVisualization.Charting" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>