2016-08-02 34 views
1

Ich muss eine Funktionalität erstellen, wenn Benutzer auf Schaltfläche klicken, als eine HTML-Datei wird dynamisch in Projektname in VS generiert und dann in einer neuen Registerkarte geöffnet.Wie öffne ich eine HTML-Datei mit einem Klick auf die Schaltfläche in der neuen Registerkarte in HTML dynamisch?

Mein Code auf Client-Seite:

<asp:button ID="BtnGenrateHTML" runat="server" text=" Generate HTML " OnClick="btnAddnew_Click" /> 

ich eine Datei in einem Verzeichnis Code erstellt haben, wie auf der Server-Seite folgt: protected void btnAddnew_Click (object sender, EventArgs e) { Zeichenfolge sFileFullName; Zeichenfolge sFilePath; Zeichenfolge sFileName;

 string strHTMLGrid = ""; 
     strHTMLGrid = strHTMLGrid + "Dear Customer,<BR><BR> Please provide below OTP to complete registration <BR><BR> "; 
     strHTMLGrid = strHTMLGrid + "<BR><BR> This OTP is valid for 15 minutes."; 
     strHTMLGrid = strHTMLGrid + "<BR><BR> With Best Regards - Indiefy"; 
     This is not working //strHTMLGrid= strHTMLGrid + "<a href="abc.html/">thesitewizard.com</a>" 
     sFilePath = Server.MapPath(""); 
     sFileName = "abc.html"; 
     sFileFullName = sFilePath + "\\" + sFileName; 
     if (!Directory.Exists(sFileFullName)) 
     { 
      Directory.CreateDirectory(sFilePath); 
     } 
     // if it exist than to delete it. 
     if (System.IO.File.Exists(sFileFullName)) 
     { 
      System.IO.File.Delete(sFileFullName); 
     } 

     // If it deleted than we need to create it again 
     FileStream fs = new FileStream(sFileFullName, FileMode.Create); 
     using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8)) 
     { 
      w.WriteLine(strHTMLGrid); 
     } 

     fs.Close(); 
    } 

Wie meine abc.html Datei auf einem Klick auf Schaltfläche öffnen? Bitte führe mich, was zu tun ist.

Dies funktioniert nicht auf Server-Seite:

strHTMLGrid= strHTMLGrid + "<a href="abc.html/">thesitewizard.com</a>" 

Antwort

0

Sie setzen Attribut des Anker a Tag Tag zu _blank Ziel können den Link in einem neuen Tab zu öffnen.

<a href="abc.html" target="_blank"></a> 

Sie verwenden doppelte Anführungszeichen in doppelte Anführungszeichen, die zu Fehlern führen würde, müssen Sie doppelte Anführungszeichen mit umgekehrten Schrägstrich wie unten angegeben entkommen.

strHTMLGrid= strHTMLGrid + "<a href=\"abc.html\" target=\"_blank\"></a>"; 

bearbeiten Die Schaltfläche erscheint nicht in abc.html und Sie versuchen Anker in abc.html hinzufügen, die Seite öffnet abc.html Das ist nicht, was Sie wahrscheinlich suchen. Wenn Sie einen Button in einer anderen HTML-Datei haben, sagen Sie test.html und wollen abc.html von diesem öffnen, dann ändern Sie die Schaltfläche zu verankern und geben Sie ihr Style-Sheet, um wie Button aussehen.

ändern

<asp:button ID="BtnGenrateHTML" runat="server" text=" Generate HTML " OnClick="btnAddnew_Click" /> 

Um

<a href="abc.html" target="_blank">Generate HTML</a> 

Wenn Sie Taste verwenden möchten, dann können Sie verwenden window.open

<asp:button ID="BtnGenrateHTML" runat="server" text=" Generate HTML " 
    OnClick="btnAddnew_Click" OnClientClick="window.open('abc.html', '_blank'); return false;" /> 
+0

strHTMLGrid = strHTMLGrid + ""; Dies funktioniert nicht Adil auf Knopfdruck es aktualisiert nur nichts tun .. ist ihr etwas wie window.open wir können hier schreiben und übergeben Sie den Pass die URL .. ist das möglich auf Code hinter ... bitte lassen Sie es mich wissen.Vielen Dank –

+0

Überprüfen Sie meine aktualisierte Antwort. – Adil

+1

Page.ClientScript.RegisterStartupScript (this.GetType(), "", "fncpopup();", true); auf Client-Seite und dann eine Funktionsfunktion gemacht fncpopup() { window.open ('abc.html', '_blank'); } Das funktionierte für mich awsome danke –

0

Ich denke, man sollte es

ändern
strHTMLGrid= strHTMLGrid + "<a href='abc.html'>thesitewizard.com</a>" 
+0

Kate Danke für die Antwort, aber dieser Code nur die Seite aktualisiert..ist ihre jede Methode kann ich die HTML-Datei in window.open.Thanks für die Antwort öffnen –

+1

Page.ClientScript.RegisterStartupScript (this.GetType(), "", "fncpopup();", true); auf der Client-Seite und dann eine Funktionsfunktion gemacht fncpopup() {window.open ('abc.html', '_blank'); } Das hat mir super geholfen - –