Asp.net mvc 我无法在“查看”页中建模。计数

Asp.net mvc 我无法在“查看”页中建模。计数,asp.net-mvc,Asp.net Mvc,我负责维护遗留系统。该系统是从VisualStudio2008和MVC1.0开发的。然而,我拥有的visual studio版本是2010。现在我面临一个新问题,视图中的模型对象不能使用原始类中的方法。以下是视图文件的标题 <%@ Page Title="" Language="VB" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage(Of System.Linq.IQueryable

我负责维护遗留系统。该系统是从VisualStudio2008和MVC1.0开发的。然而,我拥有的visual studio版本是2010。现在我面临一个新问题,视图中的模型对象不能使用原始类中的方法。以下是视图文件的标题

<%@ Page Title="" Language="VB" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage(Of System.Linq.IQueryable(Of MVCApplication.opportunity))"%>
在视图部分,我有以下代码

    <%  If (Model.Count <> 0) Then%>
但是,当我尝试使用成员“Count”时,出现System.MissingMemberException:找不到类型为“DataQueryOf opportunity”的公共成员“Count”


在调试模式下,模型包含与控制器相同的数据。但是,查看页面似乎无法访问它们。您对如何修复它有什么建议吗?

您打算升级旧系统吗

您仍然可以下载MVC1

看起来没有Count属性。 你试过这个吗

<% If (Model.Count() <> 0) Then %>

我正在尝试将一个项目从VS2008+MVC1升级到VS2010+MVC4BETA,我也开始面临类似的问题。它在Model.xxxx上给出了一个错误。我们发现的问题是,代码没有将相关模型类型转换为其实际对象类型,而是将其保留为仅对象

我有以下视图文件头:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.master" 
    Inherits="System.Web.Mvc.ViewPage<Employee>" %>
然后使用以下行访问Employee对象的一个属性

    <%=ViewData.Model.Name %>
为了实现这一点,我正在为ViewData中的对象显式执行类型转换。模型如下所示:

    <% Employee model = (Employee)ViewData.Model;%>
然后使用下面的代码就可以了

    <%=model.Name %>

希望这能帮助一些人。但是我不确定为什么需要这样做。

我试过了。它不起作用。似乎模型无法识别IQueryable接口的所有属性。你有什么建议吗?没有这样的事情,在Razor试图做这样的爆炸时@ifModel.Count 0{…}如果有些东西不起作用,我很确定问题不在于Count方法。我正在我当前的项目中使用它,一切都很好。确保模型的类型是IEnumerable。在VisualStudio2010中使用MVC1.0后,我遇到了这个问题。在我改回MVC2.0之后,这个问题就消失了。然而,我在兼容性方面遇到了另一个问题: