我正在使用MVC3构建Intranet网站。我有一个视图,我想在其中显示3个表。所有3个表数据仅从一个数据库中提取。我有3个表数据的3个不同的存储过程。我想在index.cshtml中使用3个不同的局部视图。并且可以使用3个存储过程来获取数据。
有人可以帮我设置控制器索引方法,以便返回所有3个部分视图的视图吗?我可以使用viewbag。但是我在线阅读文章并说它不是一个使用viewbag的好方法。目前,控制器中的Index方法通过使用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.