PDA

Vollständige Version anzeigen : JavaScript Code ausführen ohne PostBack


ImpCaligula
17.08.2006, 12:05
Salü..........

ich habe folgendes Problem - ich habe ein KontextMenue. Wählt der
Anwender aus dem KontextMenue etwas aus, so kommt es zu einer
Case Abfrage.

Leider kann ich den einzelnen KontextMenue Einträgen ja keine
eigenen Attribute zuweisen - richtig??????

-----

Also - ich habe also eine Case Abfrage - die abfängt, welchen Eintrag
er nach Rechtsklick ausgewählt hat. In dieser Case Abfrage soll nun
eine andere .aspx Seite geöffnet werden - ABER modal in neuem Fenster.
Mit Javascript kein Problem - window.open..........

Jetzt habe ich einen Button zum Probieren genommen. Super - geht!
Das GUTE daran ist - klickt man den Button, so öffnet sich erst das
neue Fenster, DANACH erfolgt erst der PostBack.

Button1.Attributes.Add("onclick", "window.showModalDialog('neueSeiteaspx', null,'status:no;dialogWidth:370px;dialogHeight:220px;dialogHide:true;help:no;scr oll:no');")

-----

Aber der Button nutzt mir nichts! Ich würde das ganze oben gerne
in meine Case Abfrage integrieren. Ich bin jetzt soweit:

Dim openscript
openscript = _
"<" & "script language=""Javascript"">" & _
"var win = window.open('NeueSeite.asp', " & _
"'fensternam', " & _
"'width=300,height=20');" & _
"</" & "script>"
Response.Write openscript

Das geht! ABER -nun wird erst der PostBack ausgeführt (logisch) und
dann erst das Javascript. Folge - die eigentliche Seite wird weiß(!!),
dann erfolgt das neue Fenster und dann erst wieder habe ich die
erste Seite :-(

WIE bekomme ich den Start des Javascript aus einer Case Abfrage
hin, ohne dass ein PostBack erfolgt (hier durch das Response.Redirect).

Thx!

Noodles
17.08.2006, 18:27
Meinst Du so?

<script language="javascript" type="text/javascript">
function MyFunction()
{
var win
switch( document.getElementById( '<%= TextBox1.ClientID %>' ).value )
{
case "1":
win = window.open('Default2.aspx', 'fenstername', 'width=300,height=20');
break;
case "2":
win = window.open('Default3.aspx', 'fenstername', 'width=300,height=20');
break;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<input id="Button1" type="button" value="button" onclick="MyFunction()" />
</div>
</form>
</body>
</html>