2016-08-02 9 views
1

ユーザーがボタンをクリックしたときに、HTMLファイルがVS内のプロジェクト名で動的に生成され、新しいタブで開くよりも、機能を作成する必要があります。htmlの新しいタブのボタンをクリックしてhtmlファイルを動的に開く方法は?

クライアント側での私のコード:サーバー側で次のように私は、ディレクトリのコード内のファイルを作成している

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

: 保護された無効btnAddnew_Click(オブジェクト送信者、EventArgsのe)の { 文字列sFileFullName。 文字列sFilePath; 文字列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(); 
    } 

クリックして私のabc.htmlファイルを開くには?どうしたらいいか教えてください。

これは、サーバー側で動作していない:

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

答えて

0

あなたは新しいタブでリンクを開くには_blankにアンカーaタグタグのターゲット属性を設定することができます。

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

あなたはエラーになり、二重引用符で二重引用符を使用している、あなたは下記のようにバックスラッシュを二重引用符をエスケープする必要があります。

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

編集ボタンがabc.htmlではないようだと、あなたはこのabc.htmlページが開きますabc.htmlにアンカーを追加しようとしているあなたは、おそらく探しているものではありません。他のhtmlファイルにあるボタンがtest.htmlで、abc.htmlを開きたい場合は、ボタンをアンカーにしてボタンのように見えるようにします。

変更

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

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

にあなたは、あなたが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 + "";これは動作していないボタンをクリックするだけでAdilは何もしません。何もしません。window.openのようなものです。ここに書いてURLを渡すことができます。 –

+0

更新された回答を確認してください。 – Adil

+1

Page.ClientScript.RegisterStartupScript(this.GetType()、 ""、 "fncpopup();"、true);クライアント側で関数関数fncpopup(){ window.open( 'abc.html'、 '_blank')を作成しました。 }これは私のためにうまくいった感謝のために働いた –

0

を使用することができ、ボタンを使用したい場合、私はあなたが

にそれを変更すべきだと思います
strHTMLGrid= strHTMLGrid + "<a href='abc.html'>thesitewizard.com</a>" 
+0

Kateお返事ありがとうございますが、このコードはページをリフレッシュしました。これらのメソッドはどれもhtmlファイルをwindow.open.Thanksで開くことができます。 –

+1

Page.ClientScript.RegisterStartupScript(this。GetType()、 ""、 "fncpopup();"、true);クライアント側で関数関数fncpopup(){window.open( 'abc.html'、 '_blank')を作成しました。 }これは私のために働いたawsome感謝 - –