ASP.NET MVC3 RenderPartial 传入空Model时出现字典类型错误
我今天在做项目时也遇到这样的问题,在博客园中有找到合理的解释。注:这一bug在MVC4已经得到修复。不必指定最后的参数
以下摘自:http://www.cnblogs.com/FoundationSoft/archive/2012/03/01/2376101.html
在一个人员信息的View中,称为PersonView,调用了另外一个partial view,用来显示人员专业资质,称为QualificationView.PersonView的model类型为Person, QualificationView的model类型为IEnumerable<PersonQualification>。Person类有一个类型为List<PersonQualification>的属性qualificationList. 在PersonView中通过以下代码引用QualificaitonView。
Html.RenderPartial("QualificationListControl",Model.qualificationList);
当qualificationList为null时,会出现以下错误。
“/”应用程序中的服务器错误。
传入字典的模型项的类型为“ConstructionMis.Dll.Entity.Person”,但此字典需要类型 “System.Collections.Generic.IEnumerable`1[ConstructionMis.Dll.Entity.PersonQualification]” 的模型项。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 传入字典的模型项的类型为“ConstructionMis.Dll.Entity.Person”,但此字典需要类型 “System.Collections.Generic.IEnumerable`1[ConstructionMis.Dll.Entity.PersonQualification]” 的模型项。 源错误:
行 96: </fieldset> 行 97: List<ConstructionMis.Dll.Entity.WorkExperience> workList = ViewBag.workList; 行 98: Html.RenderPartial("QualificationListControl",Model.qualificationList); 行 99: Html.RenderPartial("WorkExperienceControl", workList); 行 100:}
调试花了2个小时的时间,终于找到了解决方法。原来,如果在Vew A中调用了Partial View B,则给B传递model时,如果传递的参数为null,则此参数会被当作View A的model类型进行传递。即使作强制类型转换也不行。
但是,如果不使用partial view,而是直接使用一般的view,则不会出现此问题。
解决partial view传递null时出现类型不匹配的方法是在@Html.RenderPartial方法添加第三个参数,如下代码所示。
Html.RenderPartial("QualificationListControl", Model.qualificationList, new ViewDataDictionary ());
后来发现,这是ASP.NET MVC的一个bug,可以从此处查看此bug的提交报告 http://aspnet.codeplex.com/workitem/8872 关于此问题的讨论及答案可参见 http://stackoverflow.com/questions/650393/asp-net-mvc-renderpartial-with-null-model-gets-passed-the-wrong-type
转载于:https://www.cnblogs.com/sdikerdong/p/3149060.html
ASP.NET MVC3 RenderPartial 传入空Model时出现字典类型错误相关推荐
- ASP.NET MVC3 上传头像图片并截图
关于上传头像并且截图网上应该有很多资料,大多都是JQuery插件,用起来不是很方便 本文所介绍的方法将快速完成一个"上传头像图片并截图",只需要修改少量的代码 我们先来看看完成后的 ...
- ASP.NET MVC 上传大文件时404
前一段时间会员的上传组件改用FLASH的swfupload来上传,既能很友好的显示上传进度,又能完全满足大文件的上传. 后来服务器升级到windows 2008,改为IIS7后,上传文件一旦超过30M ...
- 今天研究了一下关于Asp.net文件上传时的内存消耗问题
晕啊,写了半天,突然间所有的格式都没了,我不得不在写字板中重新排版,DuDu哥,你还是快捷键都去掉吧. 简单研究了一下如何解决Asp.net连续上传文件时对内存占用越来越多的问题. 但目前只能解决一部 ...
- ASP.NET MVC3 Model验证总结 @Html.ValidationSummary(true)
http://www.wyjexplorer.cn/Post/2012/8/3/model-validation-in-aspnet-mvc3 ASP.NET MVC3中的Model是自验证的,这是通 ...
- ASP.NET MVC3 异步刷新
ASP.NET MVC3 异步刷新 2011-08-13 09:51:53 标签:MVC3 异步刷新 休闲 N Layer 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者 ...
- Asp.net MVC3.0 入门指南 6 审视编辑方法和视图
审视编辑方法和视图 在这一节中,您将审视movie控制器生成的响应方法和视图.然后您将添加 一个自定义搜索页面. 运行程序并通过在URL追加/Moives浏览movie控制器.把鼠标悬停在Edit 链 ...
- [转] ASP.NET MVC3 路由和多数据集的返回
1.ASP.NET MVC3 中的路由 同前边一样本篇并不会过多的介绍理论知识,我们在Global.asax.cs文件中可以看到如下代码: routes.MapRoute("Default& ...
- 实现ASP.NET MVC3 HtmlHelper 的 RadioButtonList 与CheckBoxList 扩展
ASP.NET MVC3也出来有一段时间了,对于没有RadioButtonList 与CheckBoxList的问题,网上也已经有很多解决方案了,可以for循环拼接出来,也可以引用ASP.NET MV ...
- ASP.NET MVC3 快速入门--第二节 添加一个控制器
MVC的全称为model-view-controller(模型-视图-控制器).MVC是一种开发应用程序的模式,这个模式已经具有了很好的框架架构,并且十分容易维护.使用MVC开发出来的应用程序一般包括 ...
- [译]Professional ASP.NET MVC3(01)-Chapter 1:Getting Started(上)
本章概要 理解ASP.NET MVC ASP.NET MVC3 预览 如何创建MVC3应用程序 MVC应用程序结构 本章首先简要介绍ASP.NET MVC, 解释它怎样适应ASP.NET MVC的历史 ...
最新文章
- vue-cli——vue-resource登录注册实例
- 2021-2027全球与中国DNA测序市场现状及未来发展趋势
- oracle log block size,案例:Oracle无法启动报错ORA-00218: block size 0 重建控制文件
- 说一说ffmpeg到处都在使用的ff_thread_once函数
- python找出在原图中的位置_用python简单处理图片(4):图像中的像素访问
- 石家庄计算机职业学院张秋玉,九龙坡有什么大学
- 微软 Edge 浏览器将推出 iOS 和 Android 版
- 深入探索PowerPivot客户端和服务器端架构
- ftp 相关知识集合
- inux系统磁盘管理基础知识及总结
- 智能读物产品优化、运营方案
- IEEE Access 期刊投稿
- 备案网站建设方案书模板
- python开发贴吧_python爬虫-贴吧
- 马尔可夫链 ▏小白都能看懂的马尔可夫链详解
- PCB中的SOLD MASK和阻抗开窗
- 平衡二叉树(AVL)
- 桌面虚拟化(VDI)的概述
- LinkedList源码浅析
- ios开发 多人语音聊天_iOS语音通话(语音对讲)
热门文章
- SSH 连接、远程上传下载文件
- Caffe学习:Blobs, Layers, and Nets
- Servlet之间的跳转(MVC模式)
- 机器学习(六)——降维处理原理
- tcp服务端无故死掉了linux,TCP服务端socket会丢连接的诡异问题及思考
- python mssql get image bin_python 使用pymssql连接sql server数据库
- python的代码保存到文档中 打不开怎么办_Python 制作网页打不开 直接跳到打开或者保存文件...
- nginx 调试 输出配置文件中的变量
- Kubernetes 小白学习笔记(2)--基本概念2
- multisim变压器反馈式_【鼎阳硬件智库原创|高速总线】 以太网变压器反转问题技术分析...