none
Table in Session RRS feed

  • Frage

  • Hallo NG,
    im Pageload meiner Seite mache ich eine DB-Abfrage und stelle das Ergebnis als Tabelle in eine Session: Session.Add("dtMain", dt);

    Dann habe ich ein DropDown auf der Seite und in dessen SelectedIndexChanged-Event lade ich die Session-Tab wieder in eine lokale DataTable

    var dtMsn = (DataTable)Session["dtMain"];

    um sie dann in einen DataView zu wandeln und mit einem RowFilter zu filtern. Das Ergebnsi wird in einem Repaeter angezeigt.

    Nun habe ich das Problem, dass wenn nach dem Filtern z.B. 5 Rows übrig bleiben, ich nach einem erneuten Laden im Event diese Tabelle nur 5 Rows enthält. Ich lade doch die DataTable jedes mal aus der Session neu, also komplett. Wie kann es sein, dass der Filter immer noch wirkt?

    Uwe


    Mittelung vom Forum

    Donnerstag, 9. Juni 2022 12:17

Antworten

Alle Antworten

  • Hallo Uwe,

    Du erstellst nur einen Verweis auf die Tabelle in der Session, keine Kopie. Daher wirkt ein Filter auf das Objekt in der Session.

    DataTable hat eine Copy Methode, mit der kannst Du eine exakte Kopie erstellen, das wäre wohl das, was Du suchst.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    Donnerstag, 9. Juni 2022 13:57
    Moderator
  • Hallo Stefan,

    danke für den Hinwies. Das hat nun geholfen.

    Uwe


    Mittelung vom Forum

    Montag, 13. Juni 2022 08:52
  • Hallo Uwe,

    Es ist erfreulich, dass Du mit Stefans Hilfe weitergekommen bist. Es wäre nett von Dir, wenn Du den Beitrag mit der richtigen Lösung als Antwort markieren würdest. Dadurch wird die Lösung hervorgehoben und für künftige Leser dieses Threads übersichtlicher. Ich verweise Dich auf die Forenregeln:

    ·        Lösungsbeiträge als “Die Antwort“ markieren

    Bitte markieren Sie den Beitrag, der zur Lösung geführt hat, als "Die Antwort". Durch Bewerten eines Beitrags als "Die Antwort" können andere Teilnehmer die Lösung schneller finden. Außerdem können Sie dem Benutzer, der die Antwort eingereicht hat, für seinen Beitrag danken und zur Steigerung der Antwortqualität in der Diskussionsgruppe beitragen.
    [Quelle: Forenregeln]

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Freitag, 17. Juni 2022 13:20
    Moderator