myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
   » Plugin für Firefox
   » Plugin für IE
   » Gadget für Windows
» Regeln
» Wie poste ich richtig?
» Datenschutzerklärung
» wbb-FAQ

Mitglieder
» Liste / Suche
» Stadt / Anleitung dazu
» Wer ist wo online?

Angebote
» ASP.NET Webspace
» Bücher
» Zeitschriften
   » dot.net magazin

Ressourcen
» guide to C#
» openbook: Visual C#
» openbook: OO
» MSDN Webcasts
» Search.Net

Team
» Kontakt
» Übersicht
» Wir über uns
» Impressum

» Unsere MiniCity
MiniCity
» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Web-Technologien » HttpResponse in neuem Fenster öffnen
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

HttpResponse in neuem Fenster öffnen

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
BruderKotlett BruderKotlett ist männlich
myCSharp.de-Mitglied

Dabei seit: 14.03.2005
Beiträge: 87
Entwicklungsumgebung: Visual Studio 2010


BruderKotlett ist offline Füge BruderKotlett Deiner Kontaktliste hinzu

HttpResponse in neuem Fenster öffnen

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen,

ich habe folgende Methode:

C#-Code:
public static void SendCSV(DataTable dt, string fileName, HttpResponse Response)
{
   Response.Clear();
   Response.ClearHeaders();
   Response.Buffer= true;
   Response.ContentType = "text/cvs";
   Response.AddHeader("Content-Disposition",string.Format("inline;filename={0}", fileName));
   Response.ContentEncoding = System.Text.Encoding.Default;
   ProduceCSV(dt, Response.Output);  // Hier wird mein Stream erstellt
   Response.Flush();
   Response.End();
}

Diese ist soweit OK. Wenn ich auf meinen LinkButton klicke, dann öffnet sich ein kleines Fenster in dem der Benutzer auswählen kann, "Öffnen", "Speichern" oder "Abbrechen". Sobald es "Öffnen" geklickt wird, erscheint die CSV-Datei im selben Fenster in dem ich den Link angeklickt habe.
Jetzt meine Frage. Ist es möglich, das in einem separaten Fenster zu öffnen? Also sobald der Benutzer auf den LinkButton klickt, öffnet sich der/das Response in einem neuen Fenster.

Würde mich für eine Lösung oder auch Tipps freuen.

Gruß

Kotlett
19.07.2006 10:45 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
svenson svenson ist männlich
myCSharp.de-Poweruser/ Experte

Dabei seit: 15.04.2005
Beiträge: 8.746
Entwicklungsumgebung: Visual Studio .NET 2003
Herkunft: Berlin


svenson ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Jetzt frag ich mich nur, was der gepostete Code mit Fenstern, klickbaren Links und ähnlichem zu tun hat....
19.07.2006 10:52 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
BruderKotlett BruderKotlett ist männlich
myCSharp.de-Mitglied

Dabei seit: 14.03.2005
Beiträge: 87
Entwicklungsumgebung: Visual Studio 2010

Themenstarter Thema begonnen von BruderKotlett

BruderKotlett ist offline Füge BruderKotlett Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hmmm.... anderer Versuch es zu erklären.
  • Diese Methode wird aufgerufen, wenn ein Benutzer auf einen LinkButton klickt.
  • Ich möchte jetzt, dass sich das HttpResponse (aus meiner Methode) nicht im selben Fenster öffnet in der der LinkButton geklickt wurde.
  • sondern es soll eine neues Internet Explorer Fenster geöffnet werden
  • hier kann dann ausgewählt werden "Öffnen", "Speichern"...
Ich denke, dass ich das nicht besser erklären kann.
19.07.2006 11:07 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
AlfameisterT
myCSharp.de-Mitglied

Dabei seit: 30.01.2005
Beiträge: 154


AlfameisterT ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Das ganze musst du anders aufbauen.
Statt dem Linkbutton nimmst du einen Hyperlink.
Dieser öffnet über JavaScript ein Popup.

Hier kannst du direkt das File als URL angeben, oder falls noch Arbeiten zu erledigen sind, eine Site mit Übergabeparameter für das File bzw andere Daten um das File bereit zu stellen. Ausgeben kannst du das dann mit Response.WriteFile(fileName);
19.07.2006 11:25 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
_mEMBEr_
myCSharp.de-Mitglied

images/avatars/avatar-2084.jpg


Dabei seit: 02.06.2005
Beiträge: 223
Entwicklungsumgebung: Visual Studio.Net 2003 Pro.
Herkunft: Austria


_mEMBEr_ ist offline MSN-Passport-Profil von _mEMBEr_ anzeigen

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Versuch es mal hiermit:

C#-Code:
openScript = "<" + "script language="+"JavaScript"+">" +"var win = window.open('"neues Fenster") + "' , " +"'neues Fenster', " +"'width=1024,height=768,resizable=yes,menubar=yes,location=yes,hotkeys=yes,scrollbars=yes,status=yes,toolbar=yes');" +"</" + "script>";
Response.Write(openScript);

javascript open() parameter:

 http://de.selfhtml.org/navigation/suche/index.htm?Suchanfrage=window.open


gruß

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von _mEMBEr_ am 19.07.2006 11:40.

19.07.2006 11:39 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Lord Hessia Lord Hessia ist männlich
myCSharp.de-Mitglied

Dabei seit: 22.05.2006
Beiträge: 497
Entwicklungsumgebung: #Develop, Eclipse
Herkunft: Gießener Umland


Lord Hessia ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Oder, wenn Du kein JS verwenden willst: <a href="deineUrl" target="_blank">
19.07.2006 11:58 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
bubblez bubblez ist männlich
myCSharp.de-Mitglied

Dabei seit: 16.08.2005
Beiträge: 249
Entwicklungsumgebung: VS8.0 & .Net Framework 2
Herkunft: CH


bubblez ist offline Füge bubblez Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Das automatische erzeugen von popups über javascript code beim postback dürfte fehlschlagen, weil poupblocker dies nicht erlauben.
Daher empfehle ich dir direkt, also ohne postback auf der gleichen seite, über javascript (button) oder über einen hyperlink (target=_blank) ein neues fenster zu öffnen.
20.07.2006 07:56 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
BruderKotlett BruderKotlett ist männlich
myCSharp.de-Mitglied

Dabei seit: 14.03.2005
Beiträge: 87
Entwicklungsumgebung: Visual Studio 2010

Themenstarter Thema begonnen von BruderKotlett

BruderKotlett ist offline Füge BruderKotlett Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Danke für eure Hilfe. Ich habe das jetzt so gelöst:

C#-Code:
Response.Write("<script language=javascript>window.open('" + url + "','_blank')</script>");

Mit diesem Script öffne ich eine ASPX-Seite. Gibt es hier die Möglichkeit, das "Scließen-Ereignis" abzufangen, also wenn der Benutzer diese Seite beendet?

Denn ich möchte es so haben, dass maximal nur eine Seite geöffnet weden darf. Denn so oft der Link mit diesem Script geklickt wird, genau so oft öffnet sich natürlich eine neue Seite.
20.07.2006 09:22 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
AlfameisterT
myCSharp.de-Mitglied

Dabei seit: 30.01.2005
Beiträge: 154


AlfameisterT ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Wenn du einen Namen für die Seite vergibst, dann wird immer wieder dasselbe Popup verwendet. Vorteil wäre hier das es immer nur einmal dieses Fenster existieren kann, Nachteil ist allerdings das das Fenster ohne Warnung mit neuem Inhalt geladen wird.

Also anstelle von '_blank' ordentlichen Namen wählen.

Das Schließen kannst du auch über JavaScript abfangen.
Entweder in deiner Ausgangsseite die Referenc auf das Popup speichern und das OnUnload Event registrieren.

win= window.open(...);
win.onunload = DeinFensterWirdBeendet;


function DeinFensterWirdBeendet()
{
//hier halt ein PostBack durchführen
__doPostBack(eventTarget, eventArgument)
}


Oder du greifst vom Popup auf dein Parent zu.
onunload="opener.DeinFensterWirdBeendet()


.
20.07.2006 13:11 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 11 Jahre.
Der letzte Beitrag ist älter als 11 Jahre.
Antwort erstellen


© Copyright 2003-2018 myCSharp.de-Team. Alle Rechte vorbehalten. 24.01.2018 12:43