我正在通过创建一个新的 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>
我收到错误“对象”不包含“标题”的定义并且没有扩展方法...
Going to Definition on Model 将我带到这里:
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。