Base Target bei JavaScript in ASP.NET

InVain

Grünschnabel
Hi,

hoffe ich schreibe das ganze jetzt in die richtige Kategorie.

Also, ich habe hier eine Anwendung die aus zwei Frames besteht. Links das Menü und rechts der Main Frame. Im Menü hab ich normale Buttons, die dann per Response.Redirect die Seiten im Main Frame öffnen. Damit die Seiten richtig geöffnet werden, habe ich im HTML Code das Base Target auf Main gesetzt.

So weit hat das auch alles schön funktioniert. Jetzt muss ich leider einen weiteren Button in mein Menü setzen und der soll ausnahmsweiße nicht etwas im Main Frame öffnen, sondern in einem neuen Fenster. Das ganze hab ich dann mit JavaScript gemacht, was auch funktioniert... nur leider öffnet er jetzt das Menü nochmal im Main Frame, so dass ich es zwei mal da habe, ich denke mal wegen dem Base Target...

... nur wie kann ich das verhindern?
 
Einmal eben der HEAD vom HTML
Code:
	<HEAD>
		<title>menu</title>
		<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
		<meta content="C#" name="CODE_LANGUAGE">
		<meta content="JavaScript" name="vs_defaultClientScript">
		<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
		<base target="main">
	</HEAD>

Dann die normalen Buttons...

Code:
		private void ae_Click(object sender, System.EventArgs e)
		{
			Response.Redirect("Auftraege/AufträgeErfassen.aspx");
		}

... und eben der Ausreiser in JavaScript:

Code:
		private void cmdHilfe_Click(object sender, System.EventArgs e)
		{
			string myScript = @"<script language='JavaScript'>";
			myScript = myScript + @"window.open('Hilfe/helpFehlerErfassen.aspx', 'fenster','toolbar=no,status=no,menubar=no,scrollbars=yes,width=600,height=500');";
			myScript = myScript + @"</script>";
			RegisterStartupScript("WindowOpen", myScript);
		}
 
Warum machst Du nicht einfach einen normalen HTML-Button rein? So wie ich das rauslese handelt es sich eh um eine statische Sache. Da kannst ja dem Button Dein window.open ins onClick-Event reinschreiben.
 
Ist leider nicht ganz so statisch wie es auf den ersten Blick aussieht. So wie es jetzt ist, ist es nur zum Testen, da müssen noch ein paar Abfragen rein etc.
Gibt es vielleicht eine Möglichkeit bei Response.Redirect ein Target mit anzugeben?
 
Dem Response.Redirect kannst Du leider kein Target mitgeben.Auf Serverseite hast Du meines Wissens generell keine Möglichkeit mehr zu beeinflussen auf welchen Frame Du die Inhalte schickst. Du musst es also auf der Clientseite machen.

Was ich aber noch nicht ganz verstehe ist, warum das mit dem window.open nicht klappt. Du kannst ja alle Informationen die Du brauchst über URL-Parameter und Sessionvariablen an Dein neues Fenster übergeben. Das PageLoad wertet dies dann ja nach Belieben aus.
 
Zurück