2011-03-16 39 views
0
訪問靜態MVC控制器的方法

我有這個一個.aspx頁面中它:.NET:從查看

<%@ 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.時,甚至不會在Intellisense中出現!Mvc

+0

您是否嘗試過清潔和重建應用程序?你確定包含你的視圖的項目的MVC 3參考是正確的嗎? – 2011-03-16 17:49:48

回答

0

已解決。在我看來,缺少此:

<%@大會名稱= 「System.Web.Mvc, 版本= 3.0.0.0,文化=中立, 公鑰= 31bf3856ad364e35」 %>

+0

是的,錯誤信息有點兒告訴你什麼問題是xD – BlackTigerX 2011-03-16 19:07:40

0

您可能錯過了通常位於/ Views文件夾中的web.Config。