zoukankan      html  css  js  c++  java
  • 點擊按鈕后自動關閉窗口并刷新父窗體

      近來接手一個項目,autoweb開發,但是autoweb提供的模板相對固定,所以,只好用vs來開發,後續用iframe來嵌套到autoweb中。

      其中一個問題,是動態產生的gridview,裏面有兩塊彈出新窗體(沒有用服務器控件!):

    <asp:templatefield headertext="管理員更新">
        <ItemTemplate>
           <a href="#" onclick="window.open('rpAdminupdateinfo.aspx?uniqueid=<%#Eval("uniqueID") %>','newwin','height=200,width=300,top=80,left=90,toolbar=no,menubar=no,scrollbars=no, resizable=yes,location=no, status=no')"> <%#Eval("管理員更新信息")%></a>
         </ItemTemplate>
    </asp:templatefield>
    <asp:templatefield headertext="Eidt">
         <ItemTemplate>
            <a href="#" onclick="window.open('rpAdminDetailEdit.aspx?uniqueid=<%#Eval("uniqueID") %>','newwin','height=320,width=400,top=70,left=80,toolbar=no,menubar=no,scrollbars=no, resizable=yes,location=no, status=no')">修改</a>
          </ItemTemplate>
    </asp:templatefield>

    彈出新窗體(第二個),設置兩個按鈕(一個用html控件,控制關閉窗體,一個用服務器控件,方便取值):
          

      <asp:Button ID="btnSave" runat="server" Text="保存" OnClick="btnSave_Click"
                CssClass="bt" />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <input id="btnCancel" class="bt" onclick="window.close();" type="button"
                value="取消" />

    對於【保存】按鈕,保存成功后刷新父窗體,出現一些麻煩。網上查詢,一個方法是,服務器控件button控件在Page_Load事件中添加btn.Attributes.Add("onclick","window.close()");發現,點擊保存按鈕后,btnSave事件根本沒有執行,而是先執行Page_Load事件,然後直接window.close。這aspnet頁面順序看來得時時注意呢。另一個方式是,是用html控件,onclick="window.close()"。這個加載db的數據,有困難。放棄。

    最後,還是從btnSave事件著手,在執行完更新后,添加代碼

    Response.Write("alter('OK')");
    string msg = "window.opener.location.reload();window.close()";
    Page.ClientScript.RegisterStartupScript(this.GetType(), "suclog", msg, true);

    窗口關閉,父窗體刷新,OK了。

  • 相关阅读:
    java-oop集合map
    IDEA启动Tomcat报错
    1.IDEM的快捷键
    1.idea快捷键
    14.
    13.级联一对多
    12.动态SQL
    11.动态参数
    10.主键回填
    9.参数的传递
  • 原文地址:https://www.cnblogs.com/dennys/p/3077478.html
Copyright © 2011-2022 走看看