Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 MVC3中包含3个以上表数据的视图_Asp.net Mvc 3_Sql Server 2008 - Fatal编程技术网

Asp.net mvc 3 MVC3中包含3个以上表数据的视图

Asp.net mvc 3 MVC3中包含3个以上表数据的视图,asp.net-mvc-3,sql-server-2008,Asp.net Mvc 3,Sql Server 2008,我正在使用MVC3构建一个内部网网站。我有一个视图,我想在其中显示3个表。所有3个表数据仅从一个数据库中获取。对于3个表数据,我有3个不同的存储过程。我正在考虑在index.cshtml中使用3种不同的局部视图。并且可以使用3个存储过程来获取数据 有人能帮我设置控制器索引方法,使其返回所有3个局部视图的视图吗?我可以用viewbag。但我在网上读到一些文章,上面说使用viewbag不是一个好方法。控制器中的当前索引方法使用1个存储过程仅返回一个局部视图的视图 提前感谢。创建自定义视图模型 型号:

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

有人能帮我设置控制器索引方法,使其返回所有3个局部视图的视图吗?我可以用viewbag。但我在网上读到一些文章,上面说使用viewbag不是一个好方法。控制器中的当前索引方法使用1个存储过程仅返回一个局部视图的视图


提前感谢。

创建自定义视图模型

型号:

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);
}
视图:


这很有帮助,但我尝试在视图中使用foreach循环,它表示foreach语句不能对“PagedList.IPagedList”类型的变量进行操作,因为“PagedList.IPagedList”不包含“GetEnumerator”的公共定义。我对从存储的prodecure中重新激活的数据使用分页。更新了viewmodel类。公共类MyViewModel{publicc PagedList.IPagedList results1{get;set;}//依此类推}。我以前才用过PagedList。谢谢
@model MyViewModel;

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