الحصول على قيمة التحكم الديناميكي بعد Page_Load في C #؟

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

سؤال

ولقد اثنين من أجزاء ويب التي تتصل. لا يمكن مقدم تعطي قيمة (وهي RID) للمستهلك حتى الحدث Page_Load الموفر على الأقل. وبالتالي فإن المستهلك لا يمكن معرفة RID أنه يحتاج إلى ما بعد Page_Load. لذلك، أنا مدمن مخدرات إلى Page_LoadComplete. الآن هناك مشكلة. المستهلك يخلق دينامية الضوابط بناء على هذا RID.

والآن. يتم إنشاء هذه الضوابط الديناميكية التي أنشئت بعد Page_Load. لذلك، لا يتم استعادة حالة العرض الخاصة بهم (التحكم الديناميكي التي تم إنشاؤها داخل Page_Load لا يكون قيمهم استعادة الرغم من).

وهكذا، أساسا ما احتاج اليه هو وسيلة لاستعادة حالة العرض إما إلى عنصر تحكم يدويا، أو للحصول على قيمة عنصر التحكم من متغير وظيفة أو ما يعادلها من C # ..

وأيضا، إذا أتمكن من الحصول على قيمة عنصر تحكم في Page_Init، التي من شأنها العمل أيضا.

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

المحلول

وجميع المعلومات التي يتم إرجاعها من وظيفة في في مفتاح Request.Form / القيم أزواج. إذا قمت بالتدقيق هناك والبحث عن هوية التحكم في المفاتيح، يمكنك الحصول على قيمة دون النظر من خلال حالة العرض.

وربما عليك أن ننظر من خلال كل مفتاح والبحث عن المفتاح الذي يحتوي على اسم عنصر التحكم، لأن المفتاح سيكون معرف العميل وليس ID الذي حددته.

نصائح أخرى

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

ViewState.Add("myRID", RID)

وأو يمكنك حفظه في SessionState، وليس الزائد حالة العرض منذ حالة العرض يميل إلى الحصول على الطريقة كبيرة جدا على أي حال. واود ان اذهب مع SessionState.

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