2009-06-28 92 views
3

我想在我的asp.net-mvc應用程序中創建一個視圖頁面。爲此,我有一個強類型的視圖,並且也有MVCPage類。試圖創建一個asp.net mvc視圖頁面w/o隱藏頁面

出於某種原因,當我加載它說,它無法加載類型的頁面:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" 
Line 2: Inherits="Blah.MyViewPage<Blah.ViewDataForBLahPage>" %> 

public class MyViewPage<TViewData> : ViewPage<TViewData> where TViewData : class 

public class ViewDataForBlahPage : MyViewData 
+0

[mvc no codebehind strong typed viewdata headers not working]可能的重複(http://stackoverflow.com/questions/615044/mvc-no-codebehind-strongly-typed-viewdata-headers-not-working) – 2011-09-22 15:16:02

回答

0

您發佈的代碼是相當混亂給我,讓我不知道什麼是錯的。但是,這是我怎麼做我的工作(即頁面沒有代碼隱藏):

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MyCustomViewModel>" %> 

替換MyCustomViewModel用自己的視圖模型類,因爲你提到你的觀點是一個強類型視圖。

如果仍然無法正常工作,可能會發布更詳細的代碼&報告的錯誤可能使人們更容易幫助...

0

您需要繼承

System.Web.Mvc.ViewPage<Blah.ViewDataForBLahPage> 
+0

如果你遵循他的階級層次,他就是這樣做的。 – mxmissile 2009-06-30 21:04:20

+1

哦,我想你是對的。 Blah讓我感到困惑。 – 2009-06-30 21:58:22

0

我有這發生在我之前,如果我記得它從MVC的測試版本升級站點時發生。對我來說,修補程序是創建一個新的MVC項目並添加所有內容。

0

該類的名稱空間聲明在哪裏?

ETA:你見過this線程嗎?它可能是相同的錯誤?

0

檢查您的web.config文件,特別是<pages/>部分。您可能需要將MYBlah.Core命名空間添加到命名空間列表中。

0

也許是因爲你的類是不通用的,但是你引用了在這裏的通用類:

Inherits="MYBlah.Core.MyViewPage<MyBlah.Core.ViewDataForUser>" 

對於.NET,泛型類MyViewPageMyViewPage<T>不同。