المؤلف: كوي شيكون (ريتشارد تروي ريكس، ريك تروي)
جهة الاتصال: [email protected] ، http://ricktroy.cnblogs.com/
بالأمس كنت أبحث عن حل بسيط لاستخدام Ajax في ASP.NET V1.1.4322، لكنني وجدت أن نموذج صفحة ASP.NET مناسب جدًا "غريب". من بين جميع الأحداث والأساليب الداخلية، لا يبدو أن أيًا منها قادر على جمع الحل دون تحديث الصفحة. حتى إذا تم استخدام XmlHttpRequest في الصفحة لإجراء HTTP GET، فلن يتم تنفيذ حدث Page_Load (لأنه). لا توجد نتيجة اختبار في كود Page_Load في نص الاستجابة الخاص بـ XmlHttpRequest ).
أتمنى لاحقًا استخدام HtmlControl، ثم استخدام __doPostBack(EventTarget, EventArgument); لكتابة RaisePostBackEvent ولكن وجدت أنه بمجرد إرسال النموذج، سيتم تحديث الصفحة (اكتشفت لاحقًا أن هذا هو المنطق السليم لنماذج Html، ولم أتعلمه من قبل مطلقًا). ولكن حتى إذا كنت تستخدم HtmlControl لتنفيذ HTTP GET لـ XmlHttpRequest، فلا تزال المشكلة غير قابلة للحل (لا يستجيب حدث Page_Load كما هو مذكور أعلاه) ملاحظة
: بالنسبة لأولئك الذين يريدون تقليد WebControl لخادم PostBack، يمكنك كتابة مدخلين مخفيين على العميل، باسم __EVENTTARGET و__EVENTARGUMENT، ثم استخدام بناء جملة البرنامج النصي __doPostBack(control, الوسيطة) لتشغيل حدث PostBack;
فقط بعد استعارة برنامج ASP.NET الاحترافي الخاص بشخص آخر،
علمت أنه يمكن استخدام IHttpHandler وIHttpModule في نموذج ASP.NET لمعالجة طلبات HTTP، لكن هاتين الفئتين تتطلبان تجميعًا مسبقًا في هذه الحالة يمكن كتابة المكتبة، وقابليتها للتوسع غير متفائلة.
هل يمكنك أن تعطيني بعض النصائح، هل هناك أي أحداث وطرق يمكنها الاستجابة مباشرة لطلبات HTTP ومعالجتها على الصفحة؟
أو من يمكنه توفير طريقة إرسال النموذج () لتمرير تنسيق البيانات؟
نظرًا لأنه يمكن إرسال XmlHttpRequest في وقت الطلب، إذا كنا نعرف شكل إرسال البيانات، فيبدو أنه يمكننا إرسال البيانات دون تحديث (لكنني اعتبرت أيضًا أن هذا يبدو أنه ينطوي على مخاطر أمنية).
من فضلك أعطني نصيحتك.