asp.net mvc - 页面上的夫妇列表

时间:2014-01-17 11:24:36

标签: asp.net listview

我可以在页面上有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???
            }

我会感谢任何帮助!

1 个答案:

答案 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
    }
}