PageMethod لم يعد يحصل على استدعاء بعد إضافة UpdatePanel إلى صفحة

StackOverflow https://stackoverflow.com/questions/611245

سؤال

أستخدمه asp.net اياكس الإصدار 1.0 على asp.net 2.0. (لا أستطيع ترقية حتى الآن 3.5)

وكان لي PageMethod التي من شأنها أن الحصول على استدعاء من قبل جافا سكريبت. هذا وعملت تماما حتى أضفت على UpdatePanel إلى جزء آخر من الصفحة. الآن عند تشغيل الصفحة مع التصحيح تشغيل وتوقف في pagemethod لم يحصل يسمى. عندما ننظر في الحرائق في ما يحصل عاد عندما يتم استدعاء آخر إلى PageMethod، وألاحظ أن صفحة aspx كامل يتم إرجاع بدلا من مجرد قيمة المكالمات. ماذا فعلت؟

وهنا هو الدعوة جافا سكريبت لPageMethod:

function EndRequestHandler(sender, args) {
    $('#selectedCHK').change(
        function() {
            var chkedInput = $('#selectedCHK');
            var networkRead = chkedInput[0].checked;
            PageMethods.ChangeSelectedNetworkReadFlag(routeNum, 
                                                      networkRead, 
                                                      function(msg) { alert(msg);  });
        }
    );
}
$(document).ready(function() {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
}

وهذه النقطة من وجود وظيفة EndRequestHandler دعا في نهاية كل طلب هو أن هذا البند مع "#selectedCHK" الرقم هو داخل لوحة تحديث ويحتاج هذا الحدث للحصول على اقامة في كل مرة يتم تحديث UpdatePanel.

هل كانت مفيدة؟

المحلول 2

وأنا أحسب ذلك وكان مشكلة التكوين. على وجه التحديد كنت بحاجة إلى إضافة:

<httpModules>
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>

داخل المقطع .

واعتقدت أنني قد تكوين موقع بشكل صحيح ولكن قررت أن تذهب من خلال في توثيق خطوة بخطوة.

نصائح أخرى

وحاول إعداد updatemode لمشروطا لوحة التحديث. يبدو وكأنه لوحة التحديث يختطفون الأحداث.

<asp:UpdatePanel ID="upMyPanel" UpdateMode="Conditional" runat="server">
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top