我遇到这样一个问题:
比如我有张表A,存放在数据库中,表中有一个字段a,该字段存放有十个数据(1、2、3、4、5...)。
那么,当我用数据库中取出该字段时(用lINQ、NHibernate、ADO.net等等的),我要怎样才能够一次将这十个数据传递到view上进行显示??
(如果该View是有强类型model的,但是好像model一次也只能传递那是个数据中的一个吧??小子愚昧,请大家赐教!!)
List<>
我用的是NHibernate来从数据库获取数据,然后定义了一个From()方法返回一张表里面的数据,这张表叫Faq_System,如: IList<Faq_System> list = helper.From(),这样之后,list里面应该就是放了那张表的数据了吧,可是我不想在action中通过foreach将他们弄到viewdata里面去,然后再到view中foreach出来(这样做好像效率不高),我想问的是,我改如何将list原封不动的传入到view里面去??(直接return View(list)好像不行,我在view里面的开头是这样的:inherits="System.Web.Mvc.ViewPage<QuickStart.Domain.Faq_System>"编译之后会报错说System.Web.Mvc.ViewPage<QuickStart.Domain.Faq_System>有问题????)
@斗笠大侠: inherits="System.Web.Mvc.ViewPage<IList<QuickStart.Domain.Faq_System>>
或者可以改为List<QuickStart.Domain.Faq_System>
对于Model
@foreach(var item in Model)
这样写viewbag.lists=去到的十条数据。前台foreach循环就行了。
我用的是NHibernate来从数据库获取数据,然后定义了一个From()方法返回一张表里面的数据,这张表叫Faq_System,如: IList<Faq_System> list = helper.From(),这样之后,list里面应该就是放了那张表的数据了吧,可是我不想在action中通过foreach将他们弄到viewdata里面去,然后再到view中foreach出来(这样做好像效率不高),我想问的是,我改如何将list原封不动的传入到view里面去??(直接return View(list)好像不行,我在view里面的开头是这样的:inherits="System.Web.Mvc.ViewPage<QuickStart.Domain.Faq_System>"编译之后会报错说System.Web.Mvc.ViewPage<QuickStart.Domain.Faq_System>有问题????)
我知道可以用viewdata,但是好像效率不高,想问问有没有更好的办法?
helper = new sqlHelper(); IList<Faq_System> list = helper.From(); foreach (Faq_System a in list) { Response.Write(a.NameSys+" "); Response.Write(a.IdSys + "||"); } ViewData["list"] = list; return View(system);
helper是一个NHibernate辅助类,可以创建一个session,通过session来执行数据库操作,获得一张表里面的数据
1. 你的controll 返回的是list 集合
2.view 中强类型化 @model List<你的类>
view中使用 foreach(var item in Model){<li>@item.属性</li>}