.NET:从View访问静态MVC控制器方法

时间:2011-03-16 17:37:17

标签: asp.net asp.net-mvc vb.net

我在其中有一个.aspx页面:

<%@ Import Namespace="System.Web.Mvc" %>
<%= AssetController.ScriptTag("/js/Community/CommunityWizard.js")%>

我有一个AssetController课程:

Imports System.Web.Mvc

Public Class AssetController
    Inherits Controller

    Public Shared Function ScriptTag(ByVal src As String) As String
        Return String.Format(
            "<script type='text/javascript' src='/js.mvc?src={0}&{1}'></script>", 
            System.Web.HttpContext.Current.Server.UrlEncode(src), 
            New BuildVersion().ToString()
        )
    End Function
End Class

该项目已将参考添加到System.Web.Mvc程序集的3.0.0.0版本中。

当我尝试在浏览器中查看该页面时,我收到一条带有此消息的HTTP 500:

  

BC30007:需要参考   程序集'System.Web.Mvc,   版本= 3.0.0.0,           Culture = neutral,PublicKeyToken = 31bf3856ad364e35'   包含基类       'System.Web.Mvc.Controller'。在项目中添加一个。

是什么给出的?我不明白为什么我可以在ASP.NET Forms / MVC混合应用程序中的任何地方使用此控制器,但不能在视图中使用。

编辑:事实上,当我在.aspx视图中输入<% System.Web.时,Mvc甚至没有出现在智能感知中!

2 个答案:

答案 0 :(得分:0)

解决。在我的观点中遗漏了这个:

  

&lt;%@ Assembly Name =“System.Web.Mvc,   版本= 3.0.0.0,文化=中立,   PublicKeyToken = 31bf3856ad364e35“%&gt;

答案 1 :(得分:0)

您可能缺少通常位于/ Views文件夹中的web.Config。