مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

سهیل

عضویت از 1393/04/30

لود شدن داینامیک یوزر کنترل و از دست رفتن اطلاعات ان در هنگام لود شدن مجدد صفحه

  • چهارشنبه 31 مرداد 1397
  • 21:25
تشکر میکنم

سلام من یک برنامه دارم که تعداد  زیادی یوزر کنترل داره. در  هر صفحه یوزر کنترل های مخصوص به اون صفحه بصورت داینامیک لود و نمایش داده می شه.اما من ۲ مشکل اینجا دارم.

اول : اینکه با ریفرش شدن صفحه توسط دکمه موجود در یوزر کنترل ۲  تمامی اطلاعات موجود در یوزر کنترل یک (که از دیتابیس میاد) پاک می شه و از دست می ره.

اول: بنده نمی تونم  بین یوزرکنترل های لود شده تبادل داده کنم یعنی می خوام یوزر کنترل شماره ۲ بتونه به اطلاعات یوزر کنترل یک دسترسی پیدا کنه و اطلاعات یک شی موجود در اونو که مثلا لیبل هست رو بخونه

لطفا راهنمایی بفرمایید

پاسخ های این پرسش

تعداد پاسخ ها : 5 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 31 مرداد 1397
  • 22:47

برای مورد اول میتونید اطلاعات رو با Ajax ارسال کنید تا صفحه رفرش نشه

برای سوال 2 هم با Jquery میتونید مقادیر را بدست بیارید از روی صفحه

کاربر سایت

سهیل

عضویت از 1393/04/30

  • پنجشنبه 1 شهریور 1397
  • 12:17

مشکل همینجاست.

صفحه حتما باید ریفرش بشه. بخاطر اینکه کدنویسی به این صورت هست که با کلیلک بر روی دکمه انتخاب موجود در یوزر کنترل اول id اون رکورد به صفحه والد با استفاده از respo.redirect ارسال می شه تا یوزرکنترل دوم بتونه id رکورد انتخابی رو بدست بیاره و با استفاده از اون بتونه بره فراخوانی داده از دیتابیس کنه.

حالا وقتی صفحه ریفرش می شه اطلاعات یوزرکنترل اول از دست میره

مثال عینی می زنم

یوزرکنترل اول شامل ۲ بخشه جستجوی  و نمایش لیست

یوزر کنترل دوم شامل نمایش جزئیات رکورد انتخابی ای هست که از لیست یوزرکنترل اول انتخاب شده.

وقتی جستجو می کنم و فیلتر می زارم لیستی که باید بیاره رو میاره و وقتی روی یکی از موارد لیست شده کلیک می کنم با استفاده از ترفند بالا که توضیح دادم یوزرکنترل ۲ عمل می کنه(کد موجود در url‌رو برمیداره و میره به دیتابیس اطلاعات رو میاره) ولی!!! زمانی که روی یکی از موارد لیست شده کلیک می کنم اطلاعات لیست موارد فیلتر شده از دست میره (بخاطر ریفرش شدن صفحه). اگرم صفحه ریفرش نشه کد رکورد انتخابی به دست یوزرکنترل ۲ نمی رسه که بتونه جزئیات رو از دیتابیس بیاره.

یعنی اگر صفحه ریفرش نشه یوزرکنترل ۲ کار نمی کنه و اگر صفحه ریفرش بشه لیست موارد فییلتر شده اطلاعاتش از دست میره

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 1 شهریور 1397
  • 14:06

برای اینکه اطلاعات از دست نره میتونید در Session نگهداری کنید و پس از لود مجدد در جای خودشون قرار دهید 

کاربر سایت

سهیل

عضویت از 1393/04/30

  • پنجشنبه 1 شهریور 1397
  • 14:35

command string به تناسب فیلتر ها تولید می شه

فیلتر ها رو توی سسشن بریزیم یا لیست نمایش داده شده رو؟

بعدش تعدد ایحاد سشن بار روی سرور ایجاد می کنه و سرعت لود رو میگیره.

 

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 1 شهریور 1397
  • 16:08

به نظرم خروجی رو نگه دارید تا مجبور نباشید مجدد کوئری را اجرا کنید 

بعد از لود مجدد سشن را null کنید 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)