MVC V接受C中传递过来的数据库表单对象时候 出现的一个问题!

var models = (from u in db.ModelLibrary
where u.ModelID == ModelID
select u).FirstOrDefault();   return(models)此时models为空或者是第一个对象

而View页面 @model IEnumerable<OnlinePrint.Models.ModelLibrary>  的含义是至少一个以上 也就是说return 的对象一定要一个以上!!!! 所以一直出错

出错提示如下

传入字典的模型项的类型为“System.Data.Entity.DynamicProxies.ModelLibrary_4BFA8721DB2B8DB70318DBFA5AB38D95C478B32AC7B2B8709C5DD2BEBD7C4E4E”,但此字典需要类型“System.Collections.Generic.IEnumerable`1[OnlinePrint.Models.ModelLibrary]”的模型项。

解决方案有二

1.按照上面说的  var models = (from u in db.ModelLibrary
where u.ModelID == ModelID
select u)     此时models是一批符合条件的数据集!   此时再去return(models) 这是View 页面就可以使用  IEnumerable了 然后去遍历model中的数据  哈哈~

2.走自己的路 仍然用var models = (from u in db.ModelLibrary
where u.ModelID == ModelID
select u).FirstOrDefault();

ps:因为这样models方便进行一些重复插入的判断 并且可以去访问该表中的第一条数据的各个列 如models.列1

此时使用ModelLibrary models = db.ModelLibrary.Find(ModelID);也可以去访问表中数据

只不过不清楚当modelid找不到时models是否能为空 也就是和.defaultorfirst 效果是否相同

那么此时 return处要有一些改变 return的对象不能是单一的一条数据

要这样去写 return View(new List<ModelLibrary>() { models });                        

此时虽然还是一条数据但是现在是一个数据集!

这两种办法都可以让View愉快的显示数据库中页面

时间: 2024-08-28 06:16:42

MVC V接受C中传递过来的数据库表单对象时候 出现的一个问题!的相关文章

PowerDesigner中SQL文件、数据库表反向生成PDM

1      反向生成PDM 1)        创建一个空的PDM模型(选择对应的DBMS): 2)        选择[Database]--[Update Model from Database-]菜单: 1.1    使用SQL文件 1)        在新窗口选择对应[Using script files]--[(Add Files)].然后再弹出窗口选择对应的SQL文件.点击打开,完成选择. 2)        点击[确定]生成. 1.2    使用数据源 1)        选择数

用Toad把excel中的数据导入数据库的表中

第1步:找到菜单选项 第2步:选择表名 第3步:选择文件类型为Excel 第4步:设置参数 在oracle中trim函数可以除去字符串前后的空格,所以选上. 第5步:把excel中的列和数据库中的字段对应起来.每一列对应一个字段. 第6步:查看约束 第7步:设置导入模式,我设置的时导入完成后不提交,手动提交. 点击Execute执行. 执行过程中: 出现以下错误,问到是否继续执行.这种错误一般是因为excel中的数据结构与数据库表中的数据类型不统一而引起的. 我点击的yes继续执行,中间可能还会

将Hive统计分析结果导入到MySQL数据库表中(一)——Sqoop导入方式

最近在做一个交通流的数据分析,需求是对于海量的城市交通数据,需要使用MapReduce清洗后导入到HBase中存储,然后使用Hive外部表关联HBase,对HBase中数据进行查询.统计分析,将分析结果保存在一张Hive表中,最后使用Sqoop将该表中数据导入到MySQL中.整个流程大概如下: 下面我主要介绍Hive关联HBase表--Sqoop导出Hive表到MySQL这些流程,原始数据集收集.MapReduce清洗及WEB界面展示此处不介绍. 一.HBase数据库表 hbase(main):

ASP.NET MVC 中将数据从View传递到控制器中的三种方法(表单数据绑定)

转自:http://www.cnblogs.com/zyqgold/archive/2010/11/22/1884779.html 在ASP.NET MVC框架中,将视图中的数据传递到控制器中,主要通过发送表单实现的.具体使用中,主要使用以下三种方法. 1.通过Request.Form读取表单数据        2.通过FormCollection读取表单数据        3.直接读取表单数据对象 下边是我学习这些东西时的一点总结 1.通过Request.Form读取表单数据      首先定

ASP.NET MVC中如何以ajax的方式在View和Action中传递数据

前言:写这篇随笔的时候,在url上漏写了斜线,找了好久错误,整个人都很不好.#我是猪系列 背景:之前介绍过一篇如何构建ASP.NET MVC4&JQuery&AJax&JSon示例,这一篇单独讲解如何在View和Action间传递并处理数据. 1,前台HTML代码: 1 <div> 2 <button type="button" id="btn">从视图向控制器中传递数据</button> 3 <p

[转]Asp.Net MVC使用HtmlHelper渲染,并传递FormCollection参数的陷阱

http://www.cnblogs.com/errorif/archive/2012/02/13/2349902.html 在Asp.Net MVC 1.0编程中,我们经常遇见这样的场景,在新建一个对象时候,通过HtmlHelper的方式在View模型中渲染Html控件,当填写完相关内容后,通过Form把需要新建的内容Post回View对应Controller的Action(例如:Create),指定的Action可以通过接受FormCollection参数.值参数或者某个类的实例参数(比如:

架构和模式的区别:三层架构和MVC在应用开发中的位置

架构是系统层面的,可以是多层架构,也可以是事件驱动架构,也可以是微服务架构. 模式是GUI应用的一种职责分离设计. 三层架构(包含多层架构)和 MVC模式(包含MVP, MVVM) 没什么关系,它们不在同一个维度上. 三层架构是从整个应用程序架构的角度来分为DAL(数据访问层).BLL(业务逻辑层).WEB层(界面层)各司其职,意在职责分离:三层是为了解决整个应用程序中各个业务操作过程中不同阶段的代码封装的问题,为了使程序员更加专注的处理某阶段的业务逻辑:并且三层只是多层架构中的一种情况,完全可

使用C语言为python编写动态模块(2)--解析python中的对象如何在C语言中传递并返回

楔子 编写扩展模块,需要有python源码层面的知识,我们之前介绍了python中的对象.但是对于编写扩展模块来讲还远远不够,因为里面还需要有python中模块的知识,比如:如何创建一个模块.如何初始化python环境等等.因此我们还需要了解一些前奏的知识,如果你的python基础比较好的话,那么我相信你一定能看懂,当然我们一开始只是介绍一个大概,至于细节方面我们会在真正编写扩展模块的时候会说. 关于使用C为python编写扩展模块,我前面还有一篇博客,强烈建议先去看那篇博客,对你了解Pytho

URL中传递JSON数据

我们在URL中传递数据一般都是 XX.aspx?A=1&B=2&C=你   这样传递中文也没关系,我们在后台利用Request.QueryString["C"]接受就可以了.浏览器会自动帮我们解码. 如果参数过多,这样拼接也不是很方便,这个时候我们就可以把所有的参数和值写成Json格式,然后进行传值  XX.aspx?json={"1",1,"2","2"},如果像这样写,接受的时候就只有接受一个参数了. Js