2009-06-10 8 views
0

Momentan haben wir eine Reihe von Formularsteuerelementen, die Postbacks bereitstellen, und wir haben uns entschieden, einige "kostenlose" Benutzererfahrungen zu erhalten, indem wir sie in ein Update-Panel einschließen. Die Steuerelemente speichern Daten im Sitzungsstatus für diesen Benutzer, sodass wir nicht ständig Daten von unserer Plattform anfordern müssen.Wie funktioniert [WebMethod (EnableSession = true)] auf UpdatePanel-Postbacks?

Wenn wir WebMethods- und WebService-Aufrufe ausführen, wenn wir die Sitzung verwenden möchten, müssen wir die EnableSession-Eigenschaft auf true setzen, wenn wir auf die Sitzung zugreifen wollen. Da Update-Panels auch dasselbe tun, wo ist der richtige Ort, um das WebMethod/EnableSession-Attribut so zu platzieren, dass Anfragen aus dem Update-Panel Zugriff auf die Sitzung haben?

Danke.

Antwort

0

Würden Sie es nicht auf jedes Ereignis setzen, das mit dem Auslöser Ihres Updatepanels verbunden ist?

+0

Das Problem ist, dass die Schaltfläche, die den Post zurück auslöst, Teil des Steuerelements ist. Ich habe keinen Zugriff auf dieses Steuerelement und ändere die Methode darin als WebMethode mit dem Attribut EnableSession = true. – Victor

+0

Ich war auch unter der Annahme, dass UpdatePanels nicht speziell eine Methode aufrufen, sondern mehr eine asynchrone Ausführung eines ganzen Lebenszyklus Zyklus, also technisch, was passiert, dass die Informationen in einem Update-Panel ändern kann, ist keine bestimmte Methode. – Victor

+0

Nun, Sie können bestimmte Auslöser für ein Updatepanel zuordnen. Wenn Sie also eine Schaltfläche hätten, die dazu führen würde, dass sich das Update-Panel ändert, würden Sie diese Button-ID als Auslöser für das Updatepanel hinzufügen. Sie müssten Updatemode = "conditional" auch auf Ihrem Updatepanel setzen. –