Comment arrêter d’actualiser la page parent après le déclenchement d’un événement de clic sur un bouton dans la page enfant

la programmation


J’ai conçu une boîte contextuelle modale bootstrap qui s’ouvrira après avoir cliqué sur un bouton dans la page parent. Je veux faire quelques choses en modal et le fermer, mais la page parent est actualisée après avoir cliqué sur un bouton sur la page enfant et le formulaire modal est soumis. J’ai essayé **OnClientClick=”return false;”** mais il arrête le déclenchement de l’événement de bouton.
Quelqu’un peut-il me dire comment le résoudre

**CODE**

**Page parent**

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>

**PAGE ENFANT**

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>

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

    }

Après avoir cliqué sur le bouton xyz1_Click pour actualiser la page parent. Comment puis-je l’arrêter. S’il vous plaît, aidez

Ce que j’ai essayé :

J’ai essayé **OnClientClick=”return false;”** mais il arrête le déclenchement de l’événement de bouton.

Solution 1

C’est ainsi que fonctionne asp.net, vous cliquez sur des éléments qui provoquent une publication qui demande à nouveau la page permettant à votre code côté serveur de s’exécuter. Ce code peut ensuite modifier l’état des contrôles et le code HTML mis à jour est envoyé au navigateur pour s’afficher. Si vous voulez que les choses se produisent sans que la page ne soit actualisée, vous devrez utiliser ajax. Vous pouvez demander à asp.net de le faire pour vous en plaçant les contrôles pertinents dans un UpdatePanel, donc si vous encapsulez le tableau qui contient vos boutons ainsi que l’étiquette “Non” avec un UpdatePanel, .net utilisera ajax pour lancer votre publication et utilisez à nouveau ajax pour mettre à jour le code HTML renvoyé en évitant une actualisation de la page.

Classe UpdatePanel (System.Web.UI) | Microsoft Docs[^]

Solution 3

J’ai essayé OnClientClick=”retour faux;” dans mon bouton, cliquez et cela a fonctionné pour moi.
Ex:

utilisez cette solution, cela a fonctionné pour moi et ne pas actualiser lorsque je clique sur le bouton et cela s’affichera
le popup modal et non rafraîchi

コメント

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