سؤال

أنا ما أتصور أن تكون جميلة القياسية واجهة الويب.

هناك 4 مختلفة ListViews (الشبكة الضوابط) التي يتم الوصول إليها من خلال سلسلة من علامات التبويب في الجزء العلوي.

لقد نفذت هذه على النحو التالي:

النص البديل http://img402.imageshack.us/img402/1530/pagedu8.jpg

علامة التبويب 1 سيتم تحميل صفحة 1 تحتوي الشبكة 1 إلى الإطار 2 ، Tab 2 تحميل الصفحة 2 تحتوي الشبكة 2 في الإطار 2.... الخ

ومع ذلك هذا يعني أنه إذا كنت انقر على عنصر في الشبكة, و أنا تحميل DetailsPage1.aspx في الإطار 2 ، ثم الإطار 1 و علامات التبويب لا تزال واضحة ونشطة.

لقد تم نصح أنه يجب أن يكون مجرد إطار واحد, وتحميل الصفحات بشكل حيوي استنادا إلى انقر فوق علامة التبويب باستخدام HttpRequest (أو WebRequest في asp.net).

هل هذا هو النهج الصحيح ؟ إذا كان لديك أي موارد أو نصائح في متناول اليد ، فإنه سيكون موضع تقدير!

شكرا

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

المحلول

وإطارات هي مطلقة لا لا. لا توجد أي فائدة إلى الإطارات التي لا يمكن تحقيق ذلك باستخدام تقنيات أخرى.

هل هذا يعني يجب استخدام أجاكس؟ ليس بالضرورة. AJAX هو حل جيد تماما إذا كنت تشعر بالحاجة إلى توفير، واجهة سلسة غنية، ولكنها ليست ضرورية تماما.

هل يمكن استخدام يتضمن جانب الخادم لفصل علامات التبويب إلى آخر (المشتركة) صفحة فرعية، ولكن منذ أن أذكر لكم ASP.NET، (على افتراض انك تعمل على V2 إطار أو أكثر) قد ترغب في استخدام الصفحات الرئيسية حيث علامات التبويب الخاصة بك في قسم محتوى واحد أو في ماستر نفسها، والخاص الشبكات / التفاصيل في القسم محتوى آخر.

والفرق الرئيسي بين الطريقتين هو أن استخدام AJAX، والانتقال من علامة التبويب إلى علامة التبويب سوف تكون البقعة وسلس، ولكن) يستغرق العمل بقليل (خاصة إذا كنت معتادا أي إعطاء إطار AJAX) وب ) لأن لديك أساسا توالت 4 صفحات في واحدة، والصفحات هي "أثقل" وأكثر تعقيدا للمحافظة عليه. إذا كنت تختار الطريق غير أجاكس، والفرق الرئيسي هو أنه لن يكون هناك تأثير صغير لكنه واضح التحديث عند النقر على كل علامة تبويب (لأنه يقوم بتحميل صفحة جديدة في كل مرة).

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

نصائح أخرى

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

واياكس هو أفضل اختيار. ولكن نأخذ في الاعتبار أن تجعل من تصفح-قادرة عبر يعود / إلى الأمام. أفضل اختيار هو تغيير تجزئة الصفحة. كنت شيئا من هذا القبيل:

وdomain.com/#tab1 لعلامة التبويب الأولى domain.com/#tab2 للعلامة الثاني

ووهلم جرا.

إذا كنت تستخدم مسج، هذا يمكن أن يكون بداية جيدة (ط استخدام ذلك، وكان لي NO مشكلة مع). أنا متأكد من أن هناك حلا لجميع إطار شعبية على الرغم من:)

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

هل حاولت TabContainer أو تحميل جميع 4 أجزاء من التفاصيل ومجرد عرض لوحات / يختبئ على تغيير التحديد التبويب؟

واعتمادا على ما الشاشات التي سيراها المستخدمون، إذا قمت بتحميل الآراء التفاصيل حيوي (اياكس أو إعادة النشر) قد يكون لديك صعوبة في استمرار أي من المعلومات التي قام المستخدم بإدخال، وسوف تتحمل الانتظار (المستخدمين لا يحبون الانتظار)

وأود أن أوصي باستخدام مسج ومسج UI المساعد. سوف تكون هناك حاجة إلى إطارات وحاويات ال div فقط.

مثل StingyJack ، أود أن أقترح وجود نظرة على TabContainer التحكم, ولكن قد تريد أن تأخذ الرعاية الخاصة بك ViewState لا يحصل كبيرة جدا إذا كنت تفعل.

هكذا على سبيل المثال, لا تحميل أي شيء في GridView حتى هذا التبويب يتم عرضها و إزالة محتويات إذا لم يكن (حفظ إلى قاعدة البيانات بالطبع إذا لزم الأمر.باستخدام TabContainer هو ActiveTabChanged الحدث سيكون مفتاحا لتحقيق هذه الاستراتيجية.كنت ديابل ViewState عن الشبكات ولكن ترك الأمر على الحاوية.

أنت باستخدام ASP.NET، حتى مجرد تحميل جميع الضوابط 4 إلى mutliview ومن ثم إعادة النشر تعيين واحد واضح أن الذي تم النقر فوق الزر في أي وقت.

http://msdn.microsoft كوم / EN-US / مكتبة / system.web.ui.webcontrols.multiview.aspx

لا تستخدم الإطارات (أو نوافذ الأطر المدمجة في هذا الشأن) إلا إذا كنت <م> تماما يجب ...

والأسباب الصحيحة الوحيدة التي يمكنني أن أفكر في استخدام (أ) إطارات هي الضوابط إيداع الملف في الواقع، وأنا لست متأكدا من انها صالحة هناك إما ...

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