2009-11-09 24 views
1

我最近開始使用Preview2的Areas功能,它工作正常,直到我需要將模型返回到視圖。Asp.Net MVC - 將模型返回到視圖的問題

控制器:

public ActionResult ForgotPassword() 
{ 
    return View(new PasswordViewModel()); 
} 

查看:

<%@ Import Namespace="Portal.Site.Areas.Logon.ViewModel"%> 
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<PasswordViewModel>" %> 

沒什麼難的,除了我一直得到以下錯誤。

Parser Error Message: Could not load type 'System.Web.Mvc.ViewPage<PasswordViewModel>'. 

這似乎發生在區域部分內的任何視圖/控制器。如果我刪除返回模型並添加使用字典,它工作正常。

現在我知道這個問題,正如線程描述的那樣。

http://forums.asp.net/t/1378448.aspx

我會有興趣看看是否有人認爲,這是地區有關係嗎? (儘管在一個乾淨的基礎項目中這是有效的)。對解決方案有何建議?這是一個錯誤?

回答

2

這可能是由於您的視圖文件夾中沒有web.config引起的。

例子web.config中的頁面設置:

<pages 
    validateRequest="false" 
    pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=************" 
    pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
    userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=************"> 
    <controls> 
     <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> 
    </controls> 
</pages> 
+0

謝謝!愚蠢的是這很簡單。 – LiamB 2009-11-09 17:37:36

0

的問題也可能是因爲它無法找到,因爲命名空間差異的類PasswordViewModel。如果您使用默認MVC項目設置並且PasswordViewModel位於Model文件夾中,我相信頁眉中引用的類名應該是web.model.PasswordViewModel。

相關問題