2016-08-02 2 views
1

Je dois créer une fonctionnalité lorsque l'utilisateur clique sur le bouton qu'un fichier html va générer dynamiquement dans le nom du projet dans VS et qu'il s'ouvre dans un nouvel onglet.comment ouvrir un fichier html sur un clic de bouton dans un nouvel onglet en html dynamiquement?

Mon code côté client:

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

J'ai créé un fichier dans un code de répertoire comme suit sur le côté serveur: btnAddnew_Click protected void (object sender, EventArgs e) { chaîne sFileFullName; chaîne sFilePath; chaîne sFichierName;

 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(); 
    } 

Comment ouvrir mon fichier abc.html sur un clic de bouton? S'il vous plaît, guidez moi ce qu'il faut faire.

Ce ne fonctionne pas sur le côté serveur:

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

Répondre

0

Vous pouvez définir l'attribut target de la balise de balise d'ancrage a à _blank pour ouvrir le lien dans un nouvel onglet.

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

Vous utilisez des guillemets dans des guillemets doubles qui se traduirait par erreur, vous devez échapper des guillemets doubles avec Doseret comme indiqué ci-dessous.

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

Modifier Le bouton ne semble pas dans abc.html et que vous essayez d'ajouter l'ancre dans abc.html qui ouvrira ses portes la page abc.html Ce n'est pas ce que vous cherchez probablement. Si vous avez un bouton dans un autre fichier html say test.html et que vous voulez ouvrir abc.html à partir de là, changez le bouton pour l'ancrer et donnez-lui une feuille de style pour ressembler à un bouton.

changement

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

Pour

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

Si vous voulez utiliser le bouton, vous pouvez alors utiliser 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 + ""; Cela ne fonctionne pas Adil sur le clic du bouton, il rafraîchit rien faire .. est leur quelque chose comme window.open nous pouvons écrire ici et passer le laissez-passer l'url .. est-ce possible sur le code derrière .. s'il vous plaît laissez-moi savoir.Merci –

+0

vérifier ma réponse mise à jour. – Adil

+1

Page.ClientScript.RegisterStartupScript (this.GetType(), "", "fncpopup();", true); côté client et que fait une fonction fonction fncpopup() { window.open ('abc.html', '_blank'); } Cela a fonctionné pour moi grâce awsome –

0

Je pense que vous devriez changer pour

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

Kate Merci pour la réponse, mais ce code vient d'actualiser la page .. est leur toute méthode que je peux ouvrir le fichier html dans window.open.Thanks pour la réponse –

+1

Page.ClientScript.RegisterStartupScript (this.GetType(), "", "fncpopup();", true); côté client et que fait une fonction fonction fncpopup() {window.open ('abc.html', '_blank'); } Cela a fonctionné pour moi un grand merci - –