PDA

View Full Version : سوال: چگونه از آپدیت پنل استفاده کنیم؟!



ali.n93
یک شنبه 06 بهمن 1392, 10:07 صبح
با سلام
به نظر شما اگر تعداد آپدیت پنل های یک صفحه زیاد باشه و تعداد کنترل های کمتری داخل هر کدوم باشه بهتره یا اینکه تعداد آپدیت پنل ها رو کم کنیم بهتره؟
سوال دوم: داخل یک گریدویو یک template field دارم که یک button داره. به نظر شما اگه کل گریدویو رو داخل یک آپدیت پنل بذارم بهتره یا این که توی همون فیلد، button رو داخل آپدیت پنل بذارم؟

mamad174
یک شنبه 06 بهمن 1392, 11:14 صبح
1 - استفاده از update در صفحه محدودیت نداره شما باید اول باید دسته بندی کنترلها رو تعیین کنی و اینکه با یک عملیات قراره چند کنترل به روز رسانی بشن کلا محدودیت تعداد وجود نداره

2 - در موزد سوال دوم باید این نکته رو بدونین که update panel فقط روی کنترلهایی که داخل خودش قرار دارن عمل میکنه پس شما اگر دکمه رو اونجا بذاری احتمال زیاد به مشکل برمیخوری بهتره کل گرید داخل آپدیت پنل قرار بگیره

ali.n93
یک شنبه 06 بهمن 1392, 21:54 عصر
1 - استفاده از update در صفحه محدودیت نداره شما باید اول باید دسته بندی کنترلها رو تعیین کنی و اینکه با یک عملیات قراره چند کنترل به روز رسانی بشن کلا محدودیت تعداد وجود نداره

2 - در موزد سوال دوم باید این نکته رو بدونین که update panel فقط روی کنترلهایی که داخل خودش قرار دارن عمل میکنه پس شما اگر دکمه رو اونجا بذاری احتمال زیاد به مشکل برمیخوری بهتره کل گرید داخل آپدیت پنل قرار بگیره
ممنون بابت جوابتون اما در مورد سوال اوم تقریبا قانع نشدم! راستش یا من منظور شما رو متوجه نشدم یا برعکس! میدونم که محدودیتی در تعداد آپدیت پنل وجود نداره اما یه آپدیت پنل بعد از اجرا به div تبدیل میشه و کنترل هایی که درون آپدیت پنل هستن هم به تگ های مختلف تبدیل میشن. سوال من اینه که آیا کم یا زیاد بودن کنترل های داخل آپدیت پنل در سرعت تاثیری داره؟ در مورد سوال دوم هم که کلا قانع نشدم و جواب نگرفتم!!!
بقیه دوستان هم لطفا کمک کنین :ناراحت:

ahmad156
یک شنبه 06 بهمن 1392, 22:07 عصر
استفاده از چند UpdatePanel به جای یک UpdatePanel بهتره چون PostBack های شما رو کم میکنه.البته به شرطی که لازم باشه یعنی شما 10 تا کنترل داشته باشین اگه قرار هر دفعه 2 تا کنترل رو بفرستین طرف سرور بهتره 5 تا UpdatePanel داشته باشین ولی اگر 10 تا کنترل رو با هم بخواین بفرستین طرف سرور همون یه UpdatePanel بهتره

ali.n93
یک شنبه 06 بهمن 1392, 23:17 عصر
استفاده از چند UpdatePanel به جای یک UpdatePanel بهتره چون PostBack های شما رو کم میکنه.البته به شرطی که لازم باشه یعنی شما 10 تا کنترل داشته باشین اگه قرار هر دفعه 2 تا کنترل رو بفرستین طرف سرور بهتره 5 تا UpdatePanel داشته باشین ولی اگر 10 تا کنترل رو با هم بخواین بفرستین طرف سرور همون یه UpdatePanel بهتره
در مورد سوال دوم چی؟ نظری ندارید؟

ahmad156
یک شنبه 06 بهمن 1392, 23:24 عصر
زیاد حساس نشین.من همیشه تمام گرید ویو رو میدارم توی UpdatePanel.امکان داره به اطلاعاتی بیرون از این فیلد نیاز داشته باشین اگه هیچ نیازی به اطلاعات بیرون از فیلد ندارین مشکلی نیست ولی معمولاً نیاز میشه(بعداً حداقل).

ali.n93
دوشنبه 07 بهمن 1392, 00:36 صبح
خارج از مبحث گریدویو هم فکر نمیکنم وقتی به اطلاعات بیرون از آپدیت پنل نیاز داریم نیازی باشه که حتما اون رو توی آپدیت پنل بذاریم. من این رو تست کردم. مثلا label رو خارج از آپدیت پنل گذاشتم اما بدون رفرش شدن هم مقدارش رو استفاده کردم.

ali.n93
دوشنبه 07 بهمن 1392, 14:02 عصر
جوابی نبود؟!

ahmad156
دوشنبه 07 بهمن 1392, 17:16 عصر
دوست عزیز اینجوری در نظر بگیرین هر UpdatePanel مثل جعبه ای میمونه که موقع Refresh شدن فقط خود جعبه میره طرف سرور و نه محتویات بیرون از جعبه و در صورتی که کل صفحه Refresh شه اون موقع تمام جعبه ها میره طرف سرور.

mRizvandi
دوشنبه 07 بهمن 1392, 17:40 عصر
متاسفانه (یا خوشبختانه) زمانی که قرار هست محتویات یک آپدیت پنل تغییر کنه، ASP.NET کل صفحه رو مجدد تولید می کنه و فقط بخش مورد نظر رو به سمت کلاینت ارسال می کنه. در نتیجه از لحاظ بار سروری تغییری نخواهد داشت. اما از لحاظ میزان اطلاعات ارسالی به کلاینت، مطمنا حجم کمتری ارسال خواهد شد.
از طرفی وقتی شما آپدیت پنل رو استفاده می کنید (چه یه دونه چه صد تا) تعدادی اسکریپت به صفحه اضافه میشه که این اسکریپتها اصولا با تعداد آپدیت پنلها کاری ندارند و حالت کلی Ajax رو پشتیبانی می کنند. در نتیجه تعداد آپدیت پنلها تاثیری در میزان حجم اسکریپتهای Ajax صفحه نخواهد داشت.
نتیجه گیری:
1- قرار دادن اطلاعاتی که نیازی به رفرش ندارند، در آپدیت پنل صحیح نیست.
2- آپدیت پنل تاثیری در کاهش میزان پروسس سرور نخواهد داشت.
3- استفاده از آپدیت پنلهای مختلف تاثیری در سرعت بارگذاری کلی صفحه ندارد.
4- برای زمانی که بخشهای مختلف صفحه بنا به شرایط مختلف تغییر می کنند، پیشنهاد می شود از آپدیت پنلهای مجزا استفاده شود.

زمانی که یک گریدویو بایند میشه، فقط محتویات صفحه اول رو از دیتابیس (دیتاست یا ...) میگیره و بقیه صفحات رو تولید نمی کنه. در نتیجه اگر گرید ویو داخل آپدیت پنل باشه، مثل این می مونه که صفحه اول گرید ویو در هر بار رفرش از سرور گرفته بشه.

ali.n93
دوشنبه 07 بهمن 1392, 21:06 عصر
زمانی که یک گریدویو بایند میشه، فقط محتویات صفحه اول رو از دیتابیس (دیتاست یا ...) میگیره و بقیه صفحات رو تولید نمی کنه. در نتیجه اگر گرید ویو داخل آپدیت پنل باشه، مثل این می مونه که صفحه اول گرید ویو در هر بار رفرش از سرور گرفته بشه.
یعنی به نظر شما هم اگر button که داخل templatefield داریم رو داخل آپدیت پنل بذاریم بهتر از اینه که کل گرید داخل آپدیت پنل باشه؟
راستی ممنون بابت جواب کاملتون :لبخندساده:

mRizvandi
دوشنبه 07 بهمن 1392, 21:35 عصر
یعنی به نظر شما هم اگر button که داخل templatefield داریم رو داخل آپدیت پنل بذاریم بهتر از اینه که کل گرید داخل آپدیت پنل باشه؟
راستی ممنون بابت جواب کاملتون :لبخندساده:

خواهش می کنم.
بله اگر با شرایط صفحه تون می تونید پاسخ مناسب رو بگیرد همین کار رو بکنید در غیر اینصورت کل گرید رو بذارید داخل پنل (راه ساده تر با پیچیدگی کمتر)، خیلی تغییر بزرگی نخواهید دید، مگر اینکه صفحه اول گرید شما دیتای بسیار زیادی داشته باشه.
موفق باشید.