Hallo Leute,
ich habe ein Problem mit meiner ASP.net 1.1 Anwendung.
Ich erstelle dynamisch per JavaScript Elemente einer DropDown Box.
Wenn sich nun der User ein Element anklickt, daher den Index ändert bekommt ASP das nicht mit.
Ich möchte kein Event oder so haben, sondern nur den Index auslesen.
Wie bekommt man das am geschicktesten hin?
Gruß, Rodney
Hallo Rodney
Es gibt die Eigenschaft "AutoPostBack" für die DropDownList.
Wenn diese aktiviert ist, wird bei einem Wechsel per Javascript einen PostBack ausgeführt.
So kann die Änderung mit ASP.NET ausgewertet werden.
Oder möchtest du ohne PostBack und clientseitig bleiben, d.h. irgendwas mit Javascript anstellen?
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
ja genau, ich möchte das ganze ohne PostBack lösen.
Das Problem ist, ich ändere den Wert des DropDowns führe dann irgendeine andere Aktion aus, die einen PostBack auslöst, also das klicken eines Buttons z.B.
Dann lese ich in der Ereignisbehandlung des click-events den Index des DropDowns aus, und dieser steht jedesmal auf 0.
Hi Rodney
Original von Rodney
ja genau, ich möchte das ganze ohne PostBack lösen.
Was denn?
Original von Rodney
Das Problem ist, ich ändere den Wert des DropDowns führe dann irgendeine andere Aktion aus, die einen PostBack auslöst, also das klicken eines Buttons z.B.
Dann lese ich in der Ereignisbehandlung des click-events den Index des DropDowns aus, und dieser steht jedesmal auf 0.
Zeig mal deinen Code, das ist kein Standardverhalten.
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
ah sorry. Habe glaub ich grad den Fehler gefunden.
Ich versuche den Index in der CreateChildControls auszulesen.
Das ist glaube ich leider nicht möglich oder?
Das Problem ist, dass ich je nach diesem Wert verschiedene SubProjects dynamisch einfügen muss.
Alternativ:
Wie ist es möglich, zu deklarieren, dass eine bestimmte JavaScript Funktion im body-onload ausgeführt wird?
Gruß, Rodney
Hallo Rodney
Original von Rodney
Alternativ:
Wie ist es möglich, zu deklarieren, dass eine bestimmte JavaScript Funktion im body-onload ausgeführt wird?
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
Die ClientScriptManager Klasse ist leider erst ab .net 2.0 verfügbar.
Ich muss aber gezwungenermaßen 1.1 verwenden.
Gruß, Rodney
Die Page Klasse verfügt auch über allerhand Methoden zur Skriptintegration.
Die werden dann ab v2.0 als obsolet erklärt u. tauchen im ClientScriptManager wieder auf.
Grüsse
ok das mit dem Script werde ich wohl aufgeben müssen, ich kann nämlich kein runat="server" im header hinzufügen. (hat andere Gründe)
Jedenfalls müsste ich doch den Wert des DropDowns über das Page.Request Objekt auslesen können oder?
So wird mein DropDown erstellt:
drpProjects = new DropDownList();
drpProjects.ID = "drpProjects";
drpProjects.Attributes.Add("Name", "drpSub");
so versuche ich dann an den Wert der mit JavaScript eingefügt wurde heranzukommen:
Page.Request.Form["drpSub"]
Ist leider immer leer...
Gruß, Rodney