ASP.NET MVCの厳密に型指定されたビューとは何ですか?
System.Web.Mvc.ViewPage<TModel>
から派生するaspxページです。このビューはTModel
型に強く型付けされていると言われています。この結果として、このビュー内にはTModel
型の Model プロパティがあり、次のようなモデルのプロパティに直接アクセスできます。
<%= Model.Name %>
<%= Model.Age %>
aspxページが System.Web.Mvc.ViewPage
から派生したかのように、ViewData
から値を取得する必要がある場合、ビューはTModel
タイプを認識しなくなります。
<%= (string)ViewData["Name"] %>
<%= (int)ViewData["Age"] %>
さらに悪いことに:
<%= ((SomeModelType)ViewData["model"]).Name %>
そのようなコードにはコンパイル時の安全性はありません。
また、厳密に型指定されたパーシャル(ASCX)に対応する ViewUserControl<TModel>
があります。
厳密に型指定されたビューは、一般的なViewData構造を使用する代わりに、特定のタイプのモデルオブジェクトのレンダリングに使用されます。データのタイプを指定することにより、モデルクラスのIntelliSenseにアクセスできます。
これは、モデルとして渡されるオブジェクトのタイプを指定するビューです。したがって、ViewPage
を継承するビューの代わりに、ViewPage<T>
を継承します。ここで、T
はタイプですモデルの。