حيوي generting الحقول باستخدام مسج و أيضا جعلها serverside على asp.net

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

سؤال

مرحبا هذا قد يبدو وكأنه سؤال غريب ولكن هنا هو بلدي الحالة:

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

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

أنا أبحث عن أي رؤى شخص قد إيجابيات وسلبيات النهج.

شكرا

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

المحلول

إذا كنت ترغب في إضافة حقول الإدخال حيوي, سيكون لديك للحفاظ على جانب الملقم تجزئة المضافة حديثا الحقول وإعادة مثيل لهم في Page_Init لكي تستمر بين postbacks.

أعتقد اياكس الخاص بك فكرة جيدة:

  1. دعوة من جانب الخادم طريقة عن طريق مسج (يمكن أن يكون هذا أسلوب ثابت على .صفحة aspx.) من جانب الملقم ويضيف أسلوب سلسلة القيمة إلى جلسة المخزنة List<String>.
  2. يكون الأسلوب بإرجاع قيمة سلسلة ، وهو معرف العنصر المراد إضافته إلى الصفحة.
  3. إضافة عناصر إلى الصفحة الخاصة بك مع مسج.
  4. استخدام متغير جلسة reinstantiate الخاص بك بشكل ديناميكي-إضافة الحقول على إعادة النشر.

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

نصائح أخرى

1) سريعة وقذرة، هل يمكن أن تستخدم UpdatePanel، ولكن هذا من شأنه أن يزيد من حجم حركة المرور بعض. وسوف تسمح لك لتشمل عناصر التحقق من الصحة عن طريق نشر الظهر العلامات الكاملة للجدول.

2) هل يمكن أن تستخدم نوعا من CustomValidator أو طريقة التحقق من صحة مخصصة فقط واستخدام القيم Request.Form. طالما لديك بعض الطرق لتحديد الحقول التي يجب أن تكون قادرة على العمل أنه من أصل، ولكن سيكون لديك لإعادة المشهد إذا فشل إعادة النشر منذ فسوف تفقد تلك الأجزاء.

و3) هل يمكن أن تفعل كله "إعادة النشر" عبر مكالمة WebMethod والتعامل مع كل شيء يدويا. وربما هذا هو أنظف طريقة للقيام بذلك منذ كنت خلط ومطابقة لدت WebForms الاشياء التقليدية مع نموذج أكثر clientside على أي حال.

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