新しい ASP.Net Mvc 5 スケルトンを作成してからコンテンツをドロップすることで、サイトをアップグレードしています。現在、強く型付けされたビューを除いて、すべてが機能しているようです。すべてのModel
プロパティ アクセスが失敗し、非ジェネリック コントローラーが使用されていることが明らかです。
例:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MySite.Models.MyViewModel>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<h1><%= Model.Title %></h1>
</asp:Content>
「オブジェクト」には「タイトル」の定義が含まれておらず、拡張メソッドもありませんというエラーが表示されます...
モデルの定義に移動すると、次のようになります。
namespace System.Web.Mvc
{
// Summary:
// Represents the properties and methods that are needed to render a view as
// a Web Forms page.
[FileLevelControlBuilder(typeof(ViewPageControlBuilder))]
public class ViewPage : Page, IViewDataContainer
{
<snip>
public object Model { get; }
なぜ間違ったアイテムを選択するのですか?
プロジェクトは MVC4 プロジェクトとして作成され、コードが追加される前に nuget を使用して MVC5 にアップグレードされました。