2016-08-02 1 views
1

Мне нужно создать функциональность, когда пользователь нажимает кнопку, а файл html будет динамически генерироваться в имени проекта в VS, а затем открывается на новой вкладке.Как открыть html-файл одним нажатием кнопки на новой вкладке в html динамически?

Мой код на стороне клиента:

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

Я создал файл в коде каталога следующим образом на стороне сервера: защищаемого аннулируются btnAddnew_Click (объект отправителя, EventArgs е) { строка sFileFullName; строка sFilePath; string 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

Вы можете установить целевой атрибут якорного a тег тег _blank, чтобы открыть ссылку в новой вкладке.

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

Вы используете двойные кавычки внутри двойных кавычек, которые приведут к ошибке, вам нужно бежать двойные кавычки с обратной косой черты, как показано ниже.

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

Edit кнопка, кажется, не в 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); на стороне клиента, а затем выполняет функцию function fncpopup() { window.open ('abc.html', '_blank'); } Это сработало для меня awsome спасибо –

0

Я думаю, вы должны изменить его на

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

Kate Спасибо за ответ, но этот код просто обновил страницу .. их любой метод я могу открыть html-файл в окне.open.Thanks for reply –

+1

Page.ClientScript.RegisterStartupScript (это.GetType(), "", "fncpopup();", true); на стороне клиента, а затем выполняет функцию function fncpopup() {window.open ('abc.html', '_blank'); } Это сработало для меня огромное спасибо - –

Смежные вопросы