ورود

View Full Version : تفاوت Partial و RenderPartial



jaykob
یک شنبه 18 اسفند 1392, 12:22 عصر
سلام دوستان


در ساخت یک partial ما دو گزینه partial و renderpartial داریم در html helper می خواهم دقیقا فرق بین این دو گزینه را بدونم و اینکه استفاده از کدام و به چه دلیل توصیه می شه


ممنون

hakim22
یک شنبه 18 اسفند 1392, 15:20 عصر
گزینه ی Partial یک مقدار بازگشتی از نوع HtmlString برمیگردونه و میتوانید آن را درون یک متغیر کپی کنید .
مثلا در یک Custom Helper ازش استفاده کنید. مثلا من معمولا برای Tab در JqueryUiاون یک Helper آماده دارم که مقدار داخل پنل رو از طریق Partial تزریق میکنم.

وقتی از Partial استفاده می کنید مقدار بازگشتی اون درون صفحه ی HTML ساخته و درج میشه و بعد نتیجه ی نهایی به Response فرستاده میشه.

ولی RenderPartial مقدار بازگشتی نداره و خروجیش درون Response مستقیما ساخته میشه و نسبت به Partial یک مرحله کمتر لود و بارگذاری میشه ، میشه گفت که در تئوری سریعتر از Partial عمل میکنه ولی در خیلی از موارد عملکرد نهایی یکسانه.

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

Javad_Darvish_Amiry
دوشنبه 19 اسفند 1392, 12:20 عصر
سلام. در ادامه توضیحات hakim22 (http://barnamenevis.org/member.php?244339-hakim22) عزیز، اضافه کنم که (طبق مستندات asp.net/mvc) متود partial برای مرحله development و renderpartial برای مرحله production هست. البته اینم نیست که در عمل تفاوتی نداشته باشه. همونطور که در تئوری سریعتر هست، در عمل هم واقعا سریعتر هست. ولی توی برنامه های کوچیک تفاوتش رو احساس نمیکنیم. یا باید تو برنامه های بزرگ تست کنیم؛ یا آزمون هایی بنویسیم که بتونیم محیط های بزرگ رو شبیه سازی کنیم. موفق باشید.

hakim22
دوشنبه 19 اسفند 1392, 13:47 عصر
فکر میکنم تاثیر واقعیش در حلقه مشخص باشه ، وقتی شما چند صد PartialVIew را درون یک صفحه باز سازی می کنید. من هیچوقت موافق نمایش این حجم اطلاعات در یک صفحه ی وب نبودم و در عمل هم استفاده نکردم.

Javad_Darvish_Amiry
چهارشنبه 21 اسفند 1392, 02:58 صبح
نه من هم منظورم استفاده از چند صد partialview در یک صفحه نبود :) لازم به توضیح این بخش نیست.
منظورم چند ده یا صد یا هزار صفحه است که در هر روز چندین هزار یا میلیون بار بازدید میشه. تصور کنید که 5000 کاربر همزمان آنلاین باشن. سایت رشد میکنه و میشه 50000 نفر و 5 میلیون نفر. اینجا میشه تاثیرش رو دید.
تعریفی که از مقیاس یک برنامه کاربردی میشه، تاثیر بسزایی در دیدگاههای ما و نحوه استفاده ما از تکنولوژی و امکانات، و حتی تجزیه و تحلیلی که از اون پروژه داریم میذاره. برای خود من، تعداد صفحات یک وبسایت یا مثلا تعداد pvهایی که توی یه صفحه باید رندر بشن، در تعیین مقیاس یه پروژه بسیار کم اهمیت تر از تعداد درخواست هاییه که باید همزمان پاسخ داده بشه و الی آخر.
ممنون از شما که در بحث شرکت کردید. نظری داشته باشید با کمال میل میشنوم. موفق باشید.