PDA

View Full Version : مبتدی: چگونه در mvc با هر بار رفرش صفحه فقط قسمت RenderBody@ را بروز کنیم؟



sh_esharif
دوشنبه 02 شهریور 1394, 10:46 صبح
با سلام
اگه بخواهیم قسمت Layout صفحه رفرش نشه و با هر عملی که روی فرم انجام می شه فقط قسمت مربوط به RenderBody@ بروز بشه باید چکار کنیم؟
اگه دوستان کمک کنند ممنون می شم.

r4hgozar
دوشنبه 02 شهریور 1394, 11:57 صبح
سلام.
باید این کار رو با ajax انجام بدین.
حالا می تونین این کار رو با jquery انجام بدید و یا دستور ajax.beginform که در mvc برا شما آماده کرده.

http://www.dotnettips.info/post/1836/ajax-beginform-%D9%88-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D9%81%D8%A7%DB%8C%D9%84-%D8%A8%D9%87-%D8%B3%D8%B1%D9%88%D8%B1-%D8%AF%D8%B1-asp-net-mvc

هر چند مقالات این سایت ترجمس واسه من یکم کیج کنندس ما در کل می تونه کمک کنه.
تو همون کتابی که خودتون معرفی کردین pro aspmvc هم مثالش هست.
موفق باشید

sh_esharif
دوشنبه 02 شهریور 1394, 14:15 عصر
من در Layout یک دکمه دارم که با زدن اون فرمی نشون داده میشه.
در ویو این فرم از ajax.beginform استفاده کردم ولی باز با زدن اون دکمه کل صفحه Refresh میشه!!!
یه سوال دیگه: باید برای هر ویو جداگانه از Ajax استفاده کنم نمی تونم مشخص کنم کل RenderBody@ ایجکسی باشه؟
ممنون.

r4hgozar
سه شنبه 03 شهریور 1394, 10:44 صبح
سلام.
ببین
شما با زدن یک دکمه یا change شدن چیزی می تونی ajax کار کنی. حالا می تونه هر چیزی باشه. و هر چیزی رفرش شه.
اما من تا حالا ندیدم renderbody رفرش شه. شما باید عناصر html و با DOM روش کار کنی. هنگام تبدیل صقحه به html که شما render body نداری که بگی رفرش بشه.
موفق باشی

sh_esharif
سه شنبه 03 شهریور 1394, 19:09 عصر
سلام
منظورم از اینکه فقط RenderBody رفرش بشه یعنی محتوایی که به جای اون قرار میگیره. یعنی نخواهیم برای هر ویویی ajax بنویسیم.

hakim22
چهارشنبه 04 شهریور 1394, 07:55 صبح
این چیزی که مد نظر شما هست نوع خاصی از سایت است که به Single Page Application یا SPA معروفه. تکنیک اصلی اینه که همه ی ویو ها رو به صورت Hidden در صفحه ی اول لود میکنن بعد با کلیک روی قسمتهای مختلف ویوی مربوط به همون قسمت از Hidden در میاد و نمایش داده میشه. خیلی هم سریع کار میکنه و مثل برنامه های فلش روان اجرا میشه.

البته الان فریم ورکهایی مخصوص اینکار هست مثل AngularJS ( یا KnockoutJS هم میشه ولی باید با چند فریم ورک کوچیک دیگه ترکیبش کنید)

ضمن اینکه شما میتوانید در یک وب سایت چند SPA داشته باشید. وقتی سایتها بزرگ هستند برای هر قسمت یک SPA جداگانه طراحی میشود در غیر این صورت بارگذاری اولیه سایت زمانبر میشود.

بدون استفاده از این روش شما هربار که سایت رو رفرش میکنید یا یک صفحه ی جدید باز میکنید تمام محتویات آن صفحه دوباره لود میشه . ajax هم در صورتی که صفحه Referesh نشه اثر خودشو نشون میده. هدف استفاده از ajax اینکه بدون نیاز به رفرش اطلاعات نمایش داده شده به کاربر رو تغییر بده.

sh_esharif
چهارشنبه 04 شهریور 1394, 17:39 عصر
هدف استفاده از ajax اینکه بدون نیاز به رفرش اطلاعات نمایش داده شده به کاربر رو تغییر بده

من فکر می کردم از ajax برای رفرش قسمتی از فرم استفاده میشه!!!

omid nasri
چهارشنبه 04 شهریور 1394, 21:45 عصر
من فکر می کردم از ajax برای رفرش قسمتی از فرم استفاده میشه!!!
هر دو یک منظور رو می رسونن

mahmud_rastin
پنج شنبه 05 شهریور 1394, 21:11 عصر
.......................................