0

如何在earch上访问第二,第三和第四个结果集?ASP.NET MVC 2:调用存储过程,获取多个结果集

控制器:

var dataContext = new DealDataContext(); 
XElement xmlString = new XElement("asd"); 
var deals = dataContext.spSearchDeals(xmlString); 
return View(deals); 

查看:

<% foreach (spSearchDealsResult d in (IEnumerable)ViewData.Model) 
{ %> 

    <li> <%: d.TagLabel %> </li> 

<% } %> 

这么简单,因为它得到...但我只能访问第一个resulset。帮帮我!

回答

1

是的,一个已知的限制/宠物讨厌Linq To Sql。当您在工作区中删除存储的特效时,L2SQL会生成一个返回类型为ISingleResult<T>的方法。

解决方法是使用实体框架......

开玩笑,here是L2SQL解决方法。

基本上你将返回类型更改为IMultipleResult<T>。 (谁知道)

在旁注 - 为什么你要遍历ViewData中的项目?您在视图中返回模型,您应该直接绑定到该模型。

E.g

Inherits="System.Web.Mvc.ViewPage<IEnumerable<SearchDeal>>" 

然后:

<% foreach (var deal in Model.SearchDeals) %> 
+0

我不知道实体框架,但我想要实现只是调用一个存储过程和取得的效果。我不想处理模式设计等问题。我只想调用一个sproc,接收结果并遍历它们并将它们显示在页面上。 – dcolumbus 2010-11-25 05:30:10

相关问题