代码之家  ›  专栏  ›  技术社区  ›  Sonic Soul

从asp.net mvc 2.0升级到3.0问题

  •  4
  • Sonic Soul  · 技术社区  · 14 年前

    升级后,所有页面都将模型视为对象。

    我已使用迁移指南升级 here

    基本上只是复制一些脚本,并将mvc程序集引用重新映射到3.0

    出于某种原因,我的所有控件现在都看不到模型上的任何属性。

    下面是我如何定义模型类型:

    <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<WebMVC.Models.WeatherModel>" %>
    

    用法:

    <%: Html.TextBox("DateFromText", Model.DateFrom.ToShortDateString())%>
    

    我现在得到编译错误,即“object”不包含AnyProperty的定义。

    更新

    多亏了SLax,我解决了目标问题。现在出现以下错误:

    类型“System.Data.Objects.DataClasses.ComplexObject”是在未引用的程序集中定义的。必须添加对程序集“System.Data.Entity,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的引用。

    好 啊。。通过在web.config中添加程序集引用修复了此问题:

    <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
    
    2 回复  |  直到 14 年前
        1
  •  1
  •   SLaks    14 年前

    您可能在其中一个 Web.config文件。

        2
  •  2
  •   mknopf    13 年前

    您需要在web.config文件中输入以下内容:

    <system.web>
        <compilation debug="true" targetFramework="4.0">
            <assemblies>
                <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
                <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
            </assemblies>
        </compilation>