[英]How do I pass list results from stored procedure into ASP.NET MVC view?
[英]How do I display multiple tables in ASP.NET MVC view from a multi-table output stored procedure
我试图从返回 2 个表的存储过程中在我的 ASP.NET MVC 视图中显示两个表。 当我尝试访问存储过程结果时,我只能检索到第一个结果集,而不能检索第二个结果集。
在存储过程结果中,这两个表都是通过查询数据库中的多个表得到的。 存储过程保存为testsp
CREATE PROCEDURE [testsp]
AS
BEGIN
SELECT TOP 20 CONCAT(col1,' : ', col2) AS 'cols'
FROM table1
WHERE CreatedBy IN (SELECT col11 FROM table2
WHERE col12 = 456 AND Curr = 1)
ORDER BY CreatedAt DESC
SELECT TOP 20 CONCAT(col1,' : ', col2) AS 'cols'
FROM table1
WHERE CreatedBy = (SELECT col1 FROM table2 WHERE col12 = 123)
ORDER BY CreatedAt DESC
END
创建存储过程后,我将存储过程包含在 model 中,并尝试使用以下代码在 controller 中访问它:
public class TestController : Controller
{
public ActionResult Index()
{
DBEntities r = new DBEntities();
var data = r.testsp().ToList();
ViewBag.tests = data;
return View();
}
}
在视图中,我尝试使用以下代码显示它:
<table id="data" class="table table-bordered table-striped table-responsive">
<tbody>
@foreach (var item in ViewBag.tests)
{
<tr>
<td>
@item
</td>
</tr>
}
</tbody>
</table>
这显示了第一个表而不是第二个表。
如何从 controller 中的存储过程结果访问两个表并在视图中显示它们?
SP 不能只有两个选择。 SP 将在第一个 select 命令执行后退出。 三种选择:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.