كيفية إيقاف تحديث الصفحة الرئيسية بعد النقر على زر تشغيل الحدث في الصفحة الفرعية


لقد صممت مربعًا منبثقًا مشروطًا لـ bootstrap والذي سيتم فتحه بعد النقر فوق زر في الصفحة الرئيسية. أرغب في القيام ببعض الأشياء في الوسائط وإغلاقها ولكن يتم تحديث الصفحة الرئيسية بعد النقر فوق زر في الصفحة الفرعية ويتم إرسال النموذج المشروط. لقد حاولت **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**

ج #
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 المحدث إلى المتصفح لعرضه. إذا كنت تريد أن تحدث الأمور دون تحديث الصفحة فستحتاج إلى استخدام اياكس. يمكنك جعل asp.net يقوم بذلك نيابةً عنك عن طريق وضع عناصر التحكم ذات الصلة داخل UpdatePanel، لذا إذا قمت بلف الجدول الذي يحتوي على الأزرار الخاصة بك وكذلك التسمية “لا” مع UpdatePanel.net، فسوف يستخدم ajax لتحريض إعادة النشر الخاصة بك و استخدم Ajax مرة أخرى لتحديث HTML الذي تم إرجاعه وتجنب تحديث الصفحة.

فئة UpdatePanel (System.Web.UI) | مستندات مايكروسوفت[^]

الحل 3

حاولت OnClientClick = “إرجاع خطأ؛” في زر بلدي انقر وعملت بالنسبة لي.
السابق:

استخدم هذا الحل بالنسبة لي ولا يتم التحديث عندما أنقر فوق الزر وسيظهر
النافذة المنبثقة المشروطة ولم يتم تحديثها

コメント

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