2011-05-19 34 views
0

我有3個數據集,我想在視圖中呈現。我看過幾個例子來渲染一個,但不是兩個。如何渲染2個或更多的數據集.net MVC

可以將DataSet放入ViewData集合中,但在訪問它們時,它們不再是「DataSet」。

謝謝。

+0

你可以將它們轉換成數據集在視圖 – Egor4eg 2011-05-19 14:30:22

+2

ViewData是討厭的。使用ViewModel意味着一切都是強類型的,並且更易於維護。 – 2011-05-19 14:35:09

回答

1

ViewData有點亂碼,容易被濫用。

您應該創建一個ViewModel並將它們放置在那裏。 在控制器中填充模型,然後將其傳遞給視圖。

模型

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

VIEW

<%@ 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 } %> 

控制器

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

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

    return View(model); 
} 
+0

如果您有n個數據集,請使用List 類型的屬性或Dictionary 而不是data1和data2 – 2011-05-19 15:00:17