2008-08-29 8 views
2

Ich habe eine Gridview, die in einem Updatepanel für ein modales Popup ist, das ich auf einer Seite habe.
Das Problem ist, dass die gesamte Seite jedes Mal aktualisiert wird, wenn ich auf eine Bildschaltfläche in meiner Gridview klicke. Das lädt meine gesamte Seite und da ich den Rest der Seite ausgegraut habe, so dass der Benutzer nicht darauf klicken kann, ist das sehr ärgerlich.Gesamte Seite wird aktualisiert, obwohl sich Gridview in einem Aktualisierungsfenster befindet

Weiß jemand, was ich vermisse.

Edit: Ich betrat eine bessere Lösung am Boden

Antwort

1

Einige Monate später wurde dieses Problem behoben. Das Projekt, an dem ich gearbeitet habe, war eine frühere Version 1.1, die mit 2.0 konvertiert wurde. Allerdings im Internet.Config diese Linie geblieben:

<xhtmlConformance mode="Legacy"/> 

Als es alle Fehler kommentiert, die wir mit der Ajax Control Toolkit zu haben schienen verschwunden

2

haben Sie ChildrenAsTriggers = "false" auf dem Update?

Gibt es JavaScript-Fehler auf der Seite?

0

Wird das Modal Window mit dem IE Modal Fenster geöffnet? Oder ist es ein DIV, den du zeigst?

Wenn es ein IE-Modal Pop ist up müssen Sie Sie sicherstellen, haben

<base target="_self" /> 

sicher die Post zurück zu der modalen Seite zu machen.

Wenn es ein DIV ist, stellen Sie sicher, dass Sie Ihr XHTML korrekt haben oder es möglicherweise nicht wissen, was zu aktualisieren ist.

3

Stellen Sie sicher, auf dem Update folgende Einstellungen haben: ChildrenAsTriggers = false und Update = Conditional

1

testen Sie in Firefox oder IE? Wir haben ein ähnliches Problem, bei dem die gesamte Seite in Firefox aktualisiert wird (aber nicht IE). Um es zu umgehen, benutzen wir eine versteckte asp: -Schaltfläche mit dem useSubmitBehavior = "false" -Satz.

<asp:Button ID="btnRefresh" runat="server" OnClick="btnRefresh_Click" Style="display: none" UseSubmitBehavior="false" /> 
0

Ich würde das onClick verlassen und es als Auslöser für das UpdatePanel setzen.

Das ist seltsam, dass es in FF und nicht IE funktioniert. Das ist das Gegenteil von dem Verhalten, das wir erfahren.

0

UpdatePanels können auf fehlerhaftes HTML reagieren. Machen Sie eine View Source von Ihrem Browser und führen Sie es durch etwas wie den W3C-Validator, um nach etwas Seltsames zu suchen (nicht geschlossenes div oder Tabelle, die die üblichen Verdächtigen ist)

Wenn Sie Firefox verwenden, ist ein HTML-Validator Extension/AddOn verfügbar, der funktioniert ganz nett.

2

hatte ich dieses Problem und kam in dem folgenden Artikel:

http://bloggingabout.net/blogs/rick/archive/2008/04/02/linkbutton-inside-updatepanel-results-in-full-postback-updatepanel-not-triggered.aspx

wurde wie in diesem Beispiel im Code Meine Schaltfläche nicht dynamisch erstellt, aber wenn ich überprüfte den Code in der aspx sicher genug Es fehlte eine ID-Eigenschaft. Beim Hinzufügen der ID wurde das Postback asynchron und begann sich wie erwartet zu verhalten.

Also, zusammenfassend, überprüfen Sie Ihre Taste hat eine ID!

0

als Referenz ..

ich auch habe bemerkt, wenn die gefürchtete <asp:UpdatePanel ... /> und <asp:LinkButton ... />, dass sowie UpdateMode="Conditional" auf der UpdatePanel folgende weitere Änderungen verwenden sind erforderlich:

  • ViewStateMode="Enabled" auf <asp:Content ... /> erforderlich ist (ich habe es Disabled im MasterPage eingestellt)
  • ClientIDMode="Static" hatte von <%@ Page ... />
0

Um zu verhindern, Post-backs fügt das Onclick-Ereignis false zurück entfernt werden.

button.attribute.add ("onclick", "return false;");

Probe:

string PopupURL = Common.GetAppPopupPath() + "Popups/StockChart.aspx?s=" + symbol; 
hlLargeChart.Attributes.Add("onclick", String.Format("ShowPopupStdControls(PCStockChartWindow,'{0}');return false;", PopupURL));