0

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

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

提前致谢。

4

1 回答 1

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.
于 2012-06-12T19:01:09.390 回答