我可以在页面上有3个包含数据库列表的div吗?我是asp.net mvc的初学者,我不知道如何做到这一点...当我想要制作1个列表时我做:
public ActionResult Favs()
{
var db = new MyDbContext();
List<books> lb = db.DbBooks.ToList();
return View(lb);
}
然后我右键点击 - &gt;查看并检查选项'列表'。
但是,如果我想看到3个不同的列表呢?
public ActionResult Favs()
{
var db = new MyDbContext();
List<book> lb = db.DbBooks.ToList();
List<magazine> lm = db.DbMagazines.ToList();
List<author> la = db.DbAuthors.ToList();
return View(lb);
////////how return rest of them???
}
我会感谢任何帮助!
答案 0 :(得分:0)
您应该为返回视图使用Model类。 (注意这是非常粗糙的代码很快被敲掉了)
像
这样的东西public class MyListsModel
{
public List<book> Books { get; set; }
public List<magazine> Magazines { get; set; }
public List<author> Authorss { get; set; }
}
然后你的ActionResult就像
var myModel = new MyListsModel();
myModel.Books = db.DbBooks.ToList();
myModel.Magazines = db.DbMagazines.ToList();
myModel.Author = db.DbAuthors.ToList();
return View(myModel);
然后,您可以在“视图”页面中使用这些列表,这些列表可能与此类似:
@model MyListsModel
@{
ViewBag.Title = "My Page;
}
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
@foreach(book bookItem in Model.Books)
{
// Do something and repeat this type of action for each list
}
}