Drop-Down-Liste (im Update-Panel) verursacht FULL-PostBack!
Ich habe ein problem mit meinem AJAX und ASP.NET 3.5 🙁
Problem ist wirklich seltsam, denn ich verwende die gleiche Sache auf der anderen Seite und es funktioniert gut, aber auf dieser spezifischen Seite, das wird nicht funktionieren.
Hier ist, was ich habe:
<asp:UpdatePanel ID="upMain" runat="server" UpdateMode="Conditional" Visible="true" RenderMode="Inline">
<ContentTemplate>
<asp:DropDownList ID="ddlNewService_PortTelco" runat="server" Width="250" CssClass="dropdown" AutoPostBack="true" OnSelectedIndexChanged="Provision_PortedTelcoChanged"></asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
Auf dem Weg, bevor der DropDown-da ist ein DIV (html), und dann wenige asp:Panels.
Ich verstehe nicht, warum dies so ist, verursacht eine VOLLSTÄNDIGE POST ZURÜCK ?!
Irgendwelche Ideen ? Dank
InformationsquelleAutor user259119 | 2010-01-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
ich hatte das gleiche problem... obwohl es nicht angezeigt wird in dem kopierten code hier ein, stellen Sie sicher, dass Sie nicht alle Steuerelemente mit ClientIDMode=Static innerhalb des updatepanel .... machen Sie Erben
zumindest alle Steuerelemente, die möglicherweise auslösen eines Postbacks
Ändern auf Erben könnte nicht genug sein. Wenn die Anwendung die Standard-oder die Eltern sind mit ClientMode static, Erben wird das problem nicht lösen. Es muss festgelegt werden AutoID oder Vorhersehbar garantieren, das erzeugt die richtige clientID
Das war mein problem auch! Oh Mann, DASS ist nicht offensichtlich. Danke!!!
InformationsquelleAutor robert
Haben Sie Ihre drop-down-Liste mit einem
AutoPostBack
eingestellttrue
. Das ist, warum Sie haben es nach hinten stattAsyncPostBack
, wenn es das ist, was Sie wollten.Entfernen Sie die
AutoPostBack=true
aus der dropdownlistund ein
Async
Auslöser für das UpdatePanel setzen, um die dropdownlist und seineeventname="SelectedIndexChanged"
InformationsquelleAutor HomerJones
Mich mit dem gleichen problem...
ÜBERPRÜFEN Sie Ihre WEB.CONFIG
für diese Linie.. und EINFACH zu ENTFERNEN!!
Arbeitete für mich. Dank http://andrew-murphy.co.uk/?p=152
InformationsquelleAutor Hybridzz
Entschuldigen Sie meine mangelnde Programmierung Kompetenzen: die| der Es all die ganze Zeit funktioniert, sondern weil man von der Seite " Aktionen "sah", wie es die POST GESICHERT, wenn er es nicht war. Was für eine Schande!!!
Sorry for waisting Ihre Zeit!
InformationsquelleAutor user259119
Wenn Sie einige asp-Komponente mit
Autopostback="true"
undClientIdMode="Static"
haben, müssen Sie auf den Auslöser.Wie diese:
InformationsquelleAutor mRizvandi
Wie binden Sie Ihre DropDown? Der code, den Sie angegeben haben funktioniert auf meiner Seite mit statischen Elementen. Vielleicht ist es etwas, das andere Steuerelemente, die das problem verursacht.
Habe ich bemerkt, dass Sie Ihre UpdatePanel hat seine "UpdateMode" - Eigenschaft bedingte, jedoch hast du keine definierten, festgelegten Trigger.Sie können versuchen, die ausdrücklich festlegen, dass das update-panel durchführen sollten asynchrone Postbacks, wenn Sie Ihre dropdown löst seine selectedIndexChanged-Ereignis. Können Sie etwas wie das folgende markup:
InformationsquelleAutor Genady Sergeev
Einstellung die AutoPostBack-Attribut auf "true" genug sein sollte, um die Ursache für die partielle postback-aber es ist nicht das, was passiert, und einen vollständigen postback ausgelöst wird, anstatt, wie Sie es richtig beschrieben.
Folgenden workaround funktioniert bei mir:
Dies ist, wie die ursprüngliche DropDownList sollte wie folgt Aussehen:
Weitere details bezüglich der WebForm_PostBackOptions Parameter siehe unten:
http://msdn.microsoft.com/en-us/library/system.web.ui.postbackoptions_members(v=VS.90).aspx
InformationsquelleAutor JCallico
Hatte das gleiche problem, wenn der Dropdownlist Autopostback-Attribut auf true festgelegt war
und das problem wurde behoben, indem die dropdownlist ID des updatepanel-trigger
InformationsquelleAutor user1629842
Hatte ich dieses problem. Meine Dropdownlist war in einer HTML-Tabelle, und ich hatte meine Update-Panel gewickelt um zwei einzelne Zeilen. Habe das problem behoben, indem er die Update-Panel um die gesamte Tabelle und nicht nur die zwei Zeilen.
InformationsquelleAutor myQwil
Einer alternative um dieses Problem zu beheben ist:
Erklären, die Bibliothek
Dann können Sie etwas tun, auf diesen Linien
AjaxControlToolkit
InformationsquelleAutor Scriptworks
Set AutoID-Wert zu ClientIDMode-Eigenschaft. Es funktionierte für mich. Ich habe unterschiedliches Verhalten in verschiedenen Browsern (z.B. Google chrome und Firefox).
InformationsquelleAutor Olsi