Hallo,
mit this.Context.Response.Redirect( url ) kann ich ja im gleichen Browser auf eine neue URL gehen, wie lautet der Befehl um die URL in einen neuen Browser anzuzeigen? Es muss ASP.NET sein!
Ein weiteres Problem ist, dass ich ein HTML Input Control habe welches ich per JavaScript ansprechen möchte. Im VisualStudio funktioniert dies sowohl direkt über die ID als auch über dockument.GetElementByID(). Das Problem ist jetzt nur das der Browser "undefined" zurückliefert. Was mache ich hier falsch? Der Browser ist IE7.
Leider ist Web ncht gerade mein spezial gebiet.
Original von ScaniaV8
mit this.Context.Response.Redirect( url ) kann ich ja im gleichen Browser auf eine neue URL gehen, wie lautet der Befehl um die URL in einen neuen Browser anzuzeigen? Es muss ASP.NET sein!
Das geht serverseitig nicht.
Original von ScaniaV8
Ein weiteres Problem ist, dass ich ein HTML Input Control habe welches ich per JavaScript ansprechen möchte. Im VisualStudio funktioniert dies sowohl direkt über die ID als auch über dockument.GetElementByID(). Das Problem ist jetzt nur das der Browser "undefined" zurückliefert. Was mache ich hier falsch? Der Browser ist IE7.
Code? Meine Glaskugel ist leider kaputt 😉
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
Hallo ScaniaV8
Original von ScaniaV8
mit this.Context.Response.Redirect( url ) kann ich ja im gleichen Browser auf eine neue URL gehen, wie lautet der Befehl um die URL in einen neuen Browser anzuzeigen? Es muss ASP.NET sein!
In einem neuen Browser geht überhaupt nicht.
Was du machen kannst, ist mit Javascript (clientseitig), ein neues Fenster zu öffnen, ein sog. Popup.
Du darfst an dieser Stelle ja nicht serverseitig (ASP.NET) und clientseitig (Javascript) verwechseln, das ist ein grundlegendes und häufiges Verständnisproblem.
Original von ScaniaV8
Ein weiteres Problem ist, dass ich ein HTML Input Control habe welches ich per JavaScript ansprechen möchte. Im VisualStudio funktioniert dies sowohl direkt über die ID als auch über dockument.GetElementByID(). Das Problem ist jetzt nur das der Browser "undefined" zurückliefert. Was mache ich hier falsch? Der Browser ist IE7.
Deine IDs der Controls sind primär nur für ASP.NET gedacht, wenn du clientseitig auf deine Controls zugreifen möchtest, benutze control.ClientID.
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
Wichtig ist auch die korrekte Syntax...
document.getElementById(id);
😉
Grüsse
Cord
Danke, Punkt zwei Funktioniert, leider war runat gesetzt.
bei Punkt 1, hab ich mir schon gedacht
Du darfst an dieser Stelle ja nicht serverseitig (ASP.NET) und clientseitig (Javascript) verwechseln, das ist ein grundlegendes und häufiges Verständnisproblem.
Dies ist mir schon klar, Da ich eine ComboBox habe die ein SelectedIndexChanged event besitzt, welches ich abgefangen habe, kann ich in dieser Methode nur über ASP.NET dieses Problem lösen.
Das Problem an der ganzen Sache ist, dass dies ein SharePoint WebPart ist, in der die Controls über die Methode CreateChildControls (in C#) erstellt werden. Der Benutzer kann im Edit-Bereich dann sagen ob der Wert den er in der ComboBox auswählt, im selben Fenster geöffnet wird oder in einem neuen Fenster.
Da ich im selben Fenster über "this.Context.Response.Redirect( url ) " gelöst habe, muss es doch auch im exteren Fenster ja auch gehen? Ohne gleich die JavaScript-Bohrmaschine ansetzen zu müssen, allerdings wenn mir jemand sagen kann wie man aus einer dotnet-Methode heraus eine javascript-Function aufruft wäre ich auch erstmal glücklich.
Da Du ja SelectedIndexChanged behandelst nutze diese um einem Label JavaScriptCode zu übergeben, dieser wird dann ausgeführt.
Im Head der Seite legt Du eine JavaScript-Funktion
function windowOpen(url)
{
window.open......
}
Auf der Page ein Label z.B. mit der Id "WindowOpener"
In der SelectedIndexChanged-Methode dann
string SelectedUrl = "test.aspx";
this.WindowOpener.Text = "<script>windowOpen('" + SelectedUrl + "')</script>";
Wenn die Seite einen Postback erfährt die SelectedIndexChanged Methode ausgeführt wurde und die Seite dann am Client gerendert wird, öffnet sich das PopUp.
Jörg