MVC2ソースコードに対して実行されている新しい変換されたMVC2プロジェクトがあります。私は同じ解決策でこの会話を2回行いました。
私はサイトのすべてのページで強く型付けされたビューを使用していますが、これまでのところ、ソースに対して実行されたり、強く型付けされたビューで開発されたりする問題はありません。
現在、特に1つの強く型付けされたビューでは、ジェネリックパラメーターはそのページのModelプロパティに反映されていません。
タイプTIのモデルを使用する代わりに、常にタイプオブジェクトのモデルを使用します。
動作しないページのコード:
<%@Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<ThingViewModel>" %>
<%@ Import Namespace="SProject.Web"%>
<asp:Content ID="Content1" ContentPlaceHolderID="PageTitleContentPlaceHolder" runat="server">
<h2>Add Encounter <%= ViewData.Model.Browser %></h2>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="SidebarContentPlaceHolder" runat="server">
ビューモデル:
public class ThingViewModel
{
public string Browser { get; set; }
}
ここで何が起こっているのか分かりません。
ビューの追加ウィザードを使用して新しいビューを追加すると、すべてがうまく機能しますが、この既存のページでは、常にビューモデルタイプのオブジェクトを取得します。
ここで何が起こっているのか疑問に思って、これを回避できますか?
舞台裏で何かがキャッシュされていますか?私が欠けているものに興味があります。
この場合、コントローラーは新しいThingVingModel()を渡します。