سؤال

وأستخدمه الصفحة الرئيسية والصفحات الفرعية في تطبيق asp.net. أواجه قطرة قائمة وتريفيف أسفل (والذي يستخدم sitemapdatasource) على الصفحة الرئيسية. عند النقر على أي من عقدة تريفيف، الصفحة يتم إعادة توجيه إلى صفحة فرعية. والمشكلة هي إذا تحديد أي قيمة في القائمة DWN قطرة وانقر على عقدة تريفيف، يجب تعيين القيمة المحددة لفي مربع تحويلة في صفحة فرعية. هذا لا يعمل.. page_load الرئيسي () المنفذة بعد page_load الطفل ()، هل هو بسبب هذا؟

ومساعدتي في هذا المجال.

والشكر روبا

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

المحلول

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

وبناء على هذا أعتقد أن ما يحدث في الغالب هو أن تريفيف الخاص بك هو تقديم سهل وصلات أتش تي أم أل القديمة (أي <a href='http://stackoverflow.com'>...). عندما يتم النقر هذه متصفحك تنفيذ طلب الحصول على لصفحة الطفل الثاني. افتراضيا يتم تمرير أية بيانات من صفحة الطفل الأول إلى الثاني.

وهناك عدة طرق لتغيير هذا السلوك. أولا يجب أن تعيين الخاصية AutoPostBack إلى true والحدث SelectedIndexChanged التعامل مع دروبدوونليست الخاص بك. وفي هذه الحالة يمكنك حفظ قيمة القائمة المنسدلة بحيث يمكن استعادتها في وقت لاحق.

وأسهل طريقة لحفظ هذه القيمة هي ربما وضعه في الدورة.

Session["myvar"] = dropdown.SelectedIndex;

وصفحة رئيسية الخاص بك يمكن استعادة هذه القيمة عند تحميل الصفحة طفل عن طريق القيام بشيء مثل:

if (!IsPostBack && Session["myvar"] != null) 
    dropdown.SelectedIndex = (int)Session["myvar"];

وثمة خيار آخر يتمثل في إضافة قيمة إلى سلسلة استعلام مواقع المعلومات من كل رابط في treeview.

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