在MVC3中查看超过3个表数据

时间:2012-06-12 18:48:36

标签: asp.net-mvc-3 sql-server-2008

我正在使用MVC3构建Intranet网站。我有一个视图,我想在其中显示3个表。所有3个表数据仅从一个数据库中提取。我有3个表数据的3个不同的存储过程。我想在index.cshtml中使用3个不同的局部视图。并且可以使用3个存储过程来获取数据。

有人可以帮我设置控制器索引方法,以便返回所有3个部分视图的视图吗?我可以使用viewbag。但是我在线阅读文章并说它不是一个使用viewbag的好方法。目前,控制器中的Index方法通过使用1个存储过程仅返回一个局部视图的视图。

提前致谢。

1 个答案:

答案 0 :(得分:0)

创建自定义视图模型。

型号:

public class MyViewModel 
{
    public DataSet Result1 { get; set; }
    public DataSet Result2 { get; set; }
    public DataSet Result3 { get; set; }
}

控制器操作:

public ViewResult myAction()
{
    var myViewModel = new MyViewModel({
         Result1 = XXX, // get result 1
         Result2 = XXX, // get result 2
         Result3 = XXX  // get result 3
    });

    return View(myViewModel);
}

查看:

@model MyViewModel;

<div id="results1">@Model.Result1.Tables[0].Rows[0]["someValueFromDB"].ToString();</div>
... etc.