Cách dừng làm mới trang mẹ sau khi kích hoạt sự kiện bấm nút trong trang con

lập trình


Tôi đã thiết kế một hộp bật lên phương thức bootstrap sẽ mở sau khi nhấp vào nút trong trang mẹ. Tôi muốn thực hiện một số việc theo phương thức và đóng nó nhưng trang mẹ được làm mới sau khi tôi nhấp vào nút trên trang con và biểu mẫu phương thức được gửi. Tôi đã thử **OnClientClick=”return false;”** nhưng nó dừng sự kiện nút kích hoạt.
Bất cứ ai có thể cho tôi biết làm thế nào để giải quyết nó

**MÃ SỐ**

**Trang dành cho phụ huynh**

HTML
<a href=\"/abcd/abcd1/abcd2.aspx?abcd3=" + Eval("abcd4") + "&abcd5=" + Eval("abcd6") + "&abcd7=" + Eval("abcd7") + "&abcd8=" + Eval("abcd8") + "\" class='li-modal'>"+ Eval("abcd9") +  "</a>

**TRANG TRẺ EM**

ASP.NET
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" >
        <title>ABCDEF</title>
        <script language="javascript" type="text/javascript" src="/abcdef/xyzed/Script.js"></script>
       
    </head>
    <body scroll="no">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">X</button>    
        </div>
        <div class="modal-body" style="margin-left:-140px;">
      <div class="panel panel-default">
        <div class="panel-body">
          <form id="form1" runat="server">
            <table class="inputForm" cellspacing="0" cellpadding="0" border="0" style="width: 100%; height: 100%; table-layout: fixed">
                <thead>
                    <tr height="18">
                        <td>ABCDEF Order</td>
                    </tr>
                </thead>
                <tfoot>
                    <tr>
                        <td style="vertical-align: middle">
                        
                    <table>
                        <tfoot>
                        <tr>
                            <td>XYZED no:</td>
                            <td>
                                <asp:TextBox ID="No" runat="server" Width="50px" EnableViewState="False" />
                            </td>
                            <td>
                                <asp:Button ID="xyz1" runat="server" Text="|<" OnClick="xyz1_Click"  autopostback="false"/>
                                <asp:Button ID="xyz2" runat="server" Text="<" OnClick="xyz2_Click" OnClientClick="return false;"  />
                                <asp:Button ID="xyz3" runat="server" Text=">" OnClick="xyz3_Click" OnClientClick="return false;" />
                                <asp:Button ID="xyz4" runat="server" Text=">|" OnClick="xyz4_Click" OnClientClick="return false;" />
                            </td>
                        </tr>
                        </tfoot>
                    </table>

                        </td>
                    </tr>
                    <tr class="footerrow" height="24">
                        <td align="right">
                            <asp:Button ID="btnSubmit" CssClass="button" runat="server" Text="Ok" OnClick="btnSubmit_Click">
                            
                            </asp:Button><input class="button" id="btnCancel" onclick=" top.window.close();" type="button"
                                value="Cancel" name="btnCancel" /></td>
                    </tr>
                </tfoot>
            </table>
        </form>
        </div>
      </div>
      <div class="modal-footer">
        
      </div>
    </div>
        
    </body>

        
        
    </html>

    </asp:Content>

**Trang con.cs**

C#
protected void Page_Load(object sender, EventArgs e)
    {
        No = long.Parse(Request.QueryString["No"]);
        RuleNo = long.Parse(Request.QueryString["RuleNo"]);
        if (!IsPostBack)
        {
            No.Text = ((long)oldRuleNo).ToString();
        }
    }


    protected void xyz1_Click(object sender, EventArgs e)
    {
        No.Text = "1";

    }

Sau khi nhấp vào nút xyz1_Click làm mới trang mẹ. Làm thế nào để tôi dừng nó lại. Hãy giúp tôi

Những gì tôi đã thử:

Tôi đã thử **OnClientClick=”return false;”** nhưng nó dừng sự kiện nút kích hoạt.

Giải pháp 1

Đó là cách asp.net hoạt động, bạn nhấp vào những thứ gây ra đăng lại yêu cầu lại trang cho phép mã phía máy chủ của bạn chạy. Mã đó sau đó có thể sửa đổi trạng thái điều khiển và html cập nhật sẽ được gửi tới trình duyệt để hiển thị. Nếu bạn muốn mọi thứ diễn ra mà không cần làm mới trang, bạn sẽ cần sử dụng ajax. Bạn có thể yêu cầu asp.net thực hiện việc này cho mình bằng cách đặt các điều khiển có liên quan bên trong UpdatePanel, vì vậy nếu bạn bọc bảng chứa các nút của mình và cả nhãn “Không” bằng UpdatePanel thì .net sẽ sử dụng ajax để kích hoạt việc đăng lại của bạn và lại sử dụng ajax để cập nhật html được trả về để tránh làm mới trang.

Lớp UpdatePanel (System.Web.UI) | Tài liệu Microsoft[^]

Giải pháp 3

tôi đã cố gắng OnClientClick=”return false;” trong lần nhấp vào nút của tôi và nó đã hoạt động với tôi.
Bán tại:

sử dụng giải pháp này, nó hiệu quả với tôi và không làm mới khi tôi nhấp vào nút và nó sẽ hiển thị
cửa sổ bật lên phương thức và không được làm mới

コメント

タイトルとURLをコピーしました