Asp.net mvc 我无法在“查看”页中建模。计数
我负责维护遗留系统。该系统是从VisualStudio2008和MVC1.0开发的。然而,我拥有的visual studio版本是2010。现在我面临一个新问题,视图中的模型对象不能使用原始类中的方法。以下是视图文件的标题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
<%@ 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之后,这个问题就消失了。然而,我在兼容性方面遇到了另一个问题: