Frage

Wie auf earch kann ich die zweiten Zugang, dritte, vierte Ergebnismenge?

Controller:

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

Ausblick:

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

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

<% } %>

Dieses so einfach wie es nur geht ... aber ich kann nur das erste resulset zugreifen. HILFE!

War es hilfreich?

Lösung

Yup, eine bekannte Einschränkung / pet hate mit LINQ to SQL. Wenn Sie auf der Leinwand gespeicherte Procs fallen, erzeugt L2SQL eine Methode mit Rückgabetyp ISingleResult<T>.

Die Abhilfe ist Entity Framework verwenden ...

Just kidding, hier ist die L2SQL Abhilfe.

Grundsätzlich ändern Sie den Rückgabetyp IMultipleResult<T>. (Wer wusste)

Auf einer seitlichen Anmerkung - warum sind Sie Iterieren durch Elemente in der Viewdata? Sie sind das Modell in der Ansicht zurückkehren, Sie direkt zu diesem Modell binden sollten.

Z. B

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

und dann:

<% foreach (var deal in Model.SearchDeals) %>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top