如何使用.net MVC渲染2个或更多DataSet

时间:2011-05-19 14:27:24

标签: c# asp.net-mvc

我想在视图中呈现3个DataSet。我看过几个例子来渲染一个,但不是两个。

可以将DataSet放在ViewData Collection中,但是当它们在视图中访问时,它们不再是“DataSet”。

感谢。

1 个答案:

答案 0 :(得分:1)

ViewData有点hacky,很容易被滥用。

您应该创建一个ViewModel并将它们放在那里。 在Controller中填充模型,然后将其传递给View。

<强> MODEL

public class MyPageModel
{
    public DataSet data1 { get; set; }
    public DataSet data2 { get; set; }
}

查看

<%@ Page Title="" Language="C#" MasterPageFile="~/whatever.master" Inherits="System.Web.Mvc.ViewPage<MyNamespace.MyPageModel>" %>

<%: foreach (var row in Model.data1.Tables[0].Rows) { blah blah blah } %>
<%: foreach (var row in Model.data2.Tables[0].Rows) { blah blah blah } %>

<强> CONTROLLER

public ActionResult MyPage()
{
    var model = new MyPageModel();

    // Fill model.data1 here....
    // Fill model.data2 here....

    return View(model);
}