应该可以在这里使用泛型并传递模型的类类型。然而,Visual Studio 2008 不接受这一点:
<%@ Page Inherits="System.Web.Mvc.ViewPage(of IEnumerable(of MyNamespace.MyClass))" %>
我收到以下验证错误(在 VS 中加下划线):'Context' is not a member of 'ASP._views___home___index__asp'
我收到以下运行时错误:BC30456: 'InitializeCulture' is not a member of 'ASP._views___home___index__asp'.
请注意,我使用的是 Visual Basic.NET - 但这不会影响该问题。
以下是视图和控制器的一些屏幕截图,我希望有人看到发生了什么(TestClass 是一个具有 ID 和 Name 属性的简单类):
-
View http://img13.imageshack.us/img13/6315/viewq.jpg(列表、模型 = IEnumerable)
-
View http://img23.imageshack.us/img23/5479/viewindex.jpg(索引,无型号)
- 控制器 http://img13.imageshack.us/img13/9941/controllerl.jpg
-
运行时的结果页面 http://img27.imageshack.us/img27/4651/runtime.jpg(列表:错误)
-
运行时的结果页面 http://img26.imageshack.us/img26/2261/runtimeindex.jpg(索引:作品)
解决办法,按照麦克·科斯特 https://stackoverflow.com/users/108919/maik-koster answer https://stackoverflow.com/a/897497/53236下边是:
- 重新引用 System.Web.Mvc(在 GAC 中,返回到本地副本)
- 从控制器重新创建视图。右键单击控制器操作 -> 创建视图...并从那里进行修改
现在,ASP.NET MVC 项目中的视图页面指令具有继承属性,如下所示:
<%@ Page Inherits="System.Web.Mvc.ViewPage" %>
我遇到了同样的问题,它要么是由于缺少引用引起的,要么是使用存储库模式并实现了IDisposable
.
对于后一种情况,我添加了命名空间:System.Data.Objects
and System.Data.Objects.DataClasses
。接下来我添加了System.Data.Entity
作为参考,并将其添加到 web.config 中的程序集列表中,使用
<add assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
这样做之后,这个奇怪的错误就消失了。所以你可能想检查一下你的参考资料。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)