2009-06-28 7 views
3

私はasp.net-mvcアプリケーションでビューページを作成しようとしています。このため、私は強く型付けされたビューを持っており、MVCPageクラスもovverridenしています。何らかの理由でasp.net mvcビューページをコードビハインドなしページを作成しようとしています

私はページをロードし、それはタイプをロードすることはできませんと言う:

<%@ 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のコードは強く型付けされたビューデータのヘッダーが機能しません](http://stackoverflow.com/questions/615044/mvc-no-codebehind-strongly-typed-viewdata-headers-not-working) –

答えて

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

Ifあなたは彼のクラス階層に従って、彼はそれをやっています。 – mxmissile

+1

ああ、あなたは正しいと思います。 Blahは私を混乱させた。 –

0

を継承する必要がありますこれは私がMVCのベータ版からサイトをアップグレードするときに起こったことを思い出すと、以前私に起こりました。私のための解決策は、新しいMVCプロジェクトを作成し、それにすべてを再追加することでした。

0

ここで、クラスの名前空間宣言はありますか?

ETA:あなたはthisスレッドを見ましたか?同じエラーになることはありますか?

0

web.configファイル、特に<pages/>セクションを確認してください。名前空間リストにMYBlah.Core名前空間を追加する必要があります。

0

クラスが非ジェネリックなので多分それはだが、あなたはここで、一般的なクラスとしてそれを参照:.NETの場合

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

、ジェネリッククラスMyViewPageMyViewPage<T>とは異なります。

+0

投稿を更新しましたが、一般的な過負荷があります。ありがとう! – mrblah

+0

その場合...型をロードできなかったため、TypeLoadExceptionが発生している可能性があります。デバッガを接続し、すべての例外を壊すように設定し、詳細を確認することができます – chris166