簡體   English   中英

如何使用新頁面作為彈出源創建彈出窗口?

[英]How can I create a pop-up window using a new page as the pop-up source?

我想在單擊“創建按鈕”時彈出一個面板,我正在使用一個面板,並在面板內部添加了一些文本框和按鈕。 我可以通過在與創建按鈕相同的頁面中進行設計來制作彈出面板。 我可以在單獨的頁面中彈出窗口嗎,當我單擊createbutton時使其彈出嗎

當然。 您可以創建一個iframe,然后將源設置為要創建的面板。

假設您有兩個html頁面panel.html和main.html

您的panel.html可以簡單地是

<html>
   <body style="background-color:red">
      Hi!
   </body>
</html>

和你的main.html

    <html>
    <body style="background-color:yellow">
        <iframe src="panel.html" style="height:300px;width:300px;border:0px;display:none;" id="myPanel"></iframe>
        <a href="#" onclick="document.getElementById('myPanel').style.display='block';return false">Show Panel</a>
    </body>
</html>

這應該顯示一個帶有超鏈接“顯示面板”的黃頁。 單擊“顯示面板”時,它將顯示panel.html的iframe。

如果使用的是ASP.NET MVC,則可以通過創建一個可以用一些Ajax / JQuery代碼調用的View來實現。 如果您正在尋找某種方法,我可以為此發布一些代碼。

Gokul,

是的,您可以將面板放在單獨的頁面中,並在單擊“創建”按鈕時顯示它。 這是一種選擇(不是我的最愛,但除了標准javascript之外,它不依賴任何其他東西):

  • 當您單擊“創建按鈕”時,將打開一個新的瀏覽器窗口,該窗口的大小將與面板的大小完全匹配。 可以使用javascript輕松完成,如下所示:

    <輸入onclick =“ javascript:window.open('page.aspx','title','status = 0,toolbar = 0,width = 350,height = 250');” type =“ button” value =“ Create” />

  • 在彈出的包含面板的頁面上(根據我的示例,頁面包含Panel.aspx),執行一些操作后,您就可以使用代碼關閉窗口。 例如,如果您有一個應該將一些數據保存到數據庫並返回到父頁面的按鈕,則可以執行以下操作:

{

  ///Perform server side process. If successfully executed close this window. 
  protected void btnSubmit_Click(object sender, EventArgs e)
  if(EverythingOK) 
        { 
           StringBuilder cstext2 = new StringBuilder();
  cstext2.Append("<script type=\"text/javascript\"> function CloseMe() {");
  cstext2.Append("window.close();} </");
  cstext2.Append("script>");
  cs.RegisterStartupScript(cstype, csname2, cstext2.ToString(), false);
        } 

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM