ASP.NET:اطلاق النار برمجيا حدث من جانب الخادم في النافذة.فتاحة مع جافا سكريبت

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

سؤال

لدي دروبدونليست التي تطلق قبالة بعض داتابيندينغ من جانب الخادم في الحدث أونسليكتديندكسشانجد.

<asp:DropDownList ID="ddlGroup" runat="server" 
     AutoPostBack="True" OnSelectedIndexChanged="SelectGroup" />

في مكان آخر من الصفحة ، تفتح بعض جافا سكريبت نافذة منبثقة.عندما يتم ملء المنبثقة وتقديمها ، أريد استخدام جافا سكريبت لاطلاق النار التي OnSelectedIndexChanged حدث في الصفحة الافتتاحية.لقد وجدت بعض التعليمات البرمجية الأخرى التي تفعل شيئا مشابها:

    if (window.opener != null ) {
    var cf = window.opener.document.forms['aspnetForm'];
        if (!cf) {
            cf =  window.opener.document.aspnetForm;
        }
        cf.__EVENTTARGET.value = "prAdded";
        cf.__EVENTARGUMENT.value = "winClosed";
        cf.submit(); 
    }

وأعتقد أن هذا هو ما أبحث عنه ، ولكن لست متأكدا ما يجب أن تذهب في أجزاء إيفنتارجيت و إيفنتارغومنت ، أو حتى لو كنت بحاجة إلى تلك على الإطلاق.أريد أن أطلق النار على وجه التحديد OnSelectedIndexChanged معالج الحدث ل ddlGroup.هل هذا ممكن / عملي?

سؤال ثانوي:هل يمكنني تحديث الصفحة الرئيسية بعد تشغيل رمز من جانب الخادم في النافذة المنبثقة?

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

المحلول

إيه ، هل يمكن أن تفعل ذلك بهذه الطريقة ، ولكن أود فقط استخدام __دوبوستباك() بدلا من ذلك.أن يحدد _ _ إيفنتارجيت و _ _ إيفنتارجمنت إلى المعلمتين ، وعلى افتراض المعلمة الأولى هي ونيكيد من أوبداتبانيل ، يسبب فقط أن أوبداتبانيل لتحديث.

لذلك إما يمكنك إعداد الأشياء حتى تحديث أوبداتبانيل يفعل ما تريد أن يحدث ، أو يمكنك التحقق من تلك القيم على إعادة النشر -- Request.Form["__EVENTTARGET"] ...والذهاب من هناك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top