【问题标题】:.NET: Accessing static MVC controller method from View.NET:从 View 访问静态 MVC 控制器方法
【发布时间】:2011-07-16 19:21:53
【问题描述】:

我有一个 .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, 文化=中性,PublicKeyToken=31bf3856ad364e35' 包含基类 'System.Web.Mvc.Controller'。将一个添加到您的项目中。

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

编辑:事实上,当我在 .aspx 视图中键入 &lt;% System.Web. 时,Mvc 甚至不会出现在 Intellisense 中!

【问题讨论】:

  • 您是否尝试过清理和重建您的应用程序?您确定包含您的视图的项目中的 MVC 3 参考是正确的吗?

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


【解决方案1】:

解决了。在我看来错过了这个:

【讨论】:

  • 是的,错误信息有点告诉你问题是什么xD
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-11
    • 2019-12-04
    • 1970-01-01
    相关资源
    最近更新 更多