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

相關問題