子页面按钮点击事件触发后如何停止刷新父页面


我设计了一个引导模式弹出框,单击父页面中的按钮后将打开该弹出框。 我想在模态中执行一些操作并关闭它,但是在单击子页面上的按钮并提交模态表单后,父页面会刷新。 我尝试了 **OnClientClick=”return false;”** 但它停止触发按钮事件。
谁能告诉我如何解决

**代码**

**父页面**

超文本标记语言
<a href=\"/abcd/abcd1/abcd2.aspx?abcd3=" + Eval("abcd4") + "&abcd5=" + Eval("abcd6") + "&abcd7=" + Eval("abcd7") + "&abcd8=" + Eval("abcd8") + "\" class='li-modal'>"+ Eval("abcd9") +  "</a>

**子页面**

网络平台
<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>

**Childpage.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";

    }

点击xyz1_Click按钮后父页面刷新。 我该如何阻止它。 请帮忙

我尝试过的:

我尝试了 **OnClientClick=”return false;”** 但它停止触发按钮事件。

解决方案1

这就是 ASP.NET 的工作原理,您单击会导致回发的内容,该回发会重新请求页面,从而允许您的服务器端代码运行。 然后,该代码可以修改控件的状态,并将更新后的 html 发送到浏览器进行显示。 如果您希望在不刷新页面的情况下进行操作,则需要使用 ajax。 您可以通过将相关控件放入 UpdatePanel 中,让 asp.net 为您完成此操作,因此,如果您将包含按钮的表格以及带有 UpdatePanel 的“否”标签包装起来,.net 将使用 ajax 来发起您的回发,并且再次使用 ajax 更新返回的 html,避免页面刷新。

UpdatePanel 类 (System.Web.UI) | 微软文档[^]

解决方案3

我试过 OnClientClick =“返回错误;” 单击我的按钮,它对我有用。
前任:

使用这个解决方案,它对我有用,当我单击按钮时不会刷新,它会显示
模式弹出并且未刷新

コメント

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