مزیت استفاده از PartialViewها، ماژولار کردن برنامه است. برای مثال اگر
صفحه جاری شما قرار است از چهار قسمت اخبار، منوی پویا، سخن روز و آمار
کاربران تشکیل شود، میتوان هر کدام را توسط یک PartialView پیاده سازی کرد
و سپس صفحه اصلی را از کنار هم قرار دادن این PartialViewها تهیه نمود.(منبع).
در این پست قصد دارم به نحوه بارگزاری یک PartialView با استفاده از ASP.NET MVC بپردازم.
ابتدا یک پروژه جدید ایجاد کنید. حال میخواهیم زمانیکه صفحه اصلی سایت بارگزاری میشود، لیست تمام محصولات را نمایش دهد. برای نمایش محصولات یک PartialView جدید را ایجاد میکنیم؛ همانند شکل ذیل:
در ادامه قصد داریم که درIndex، این View را بارگزاری کنیم. برای این کار از متد ajax مربوط به کتابخانه jQuery به صورت زیر استفاده میکنیم:
در این پست قصد دارم به نحوه بارگزاری یک PartialView با استفاده از ASP.NET MVC بپردازم.
ابتدا یک پروژه جدید ایجاد کنید. حال میخواهیم زمانیکه صفحه اصلی سایت بارگزاری میشود، لیست تمام محصولات را نمایش دهد. برای نمایش محصولات یک PartialView جدید را ایجاد میکنیم؛ همانند شکل ذیل:
حال برای ساده کردن مثال، متن ثابتی را درون این PartialView مینویسیم:
product List Partial
$(function () { $.ajax({ //مشخص کردن اکشنی که باید فراخوانی شود url: '/Home/Details', contentType: 'application/html; charset=utf-8', type: 'GET', //نوع نتیجه بازگشتی dataType: 'html' }) .success(function (result) { //زمانی که کدهای سمت سرور بدون خطا اجرا شده اند //این قسمت فراخوانی میشود و نتیجه اکشن درون متغیر //result //قرار میگیرد $('#sectionContents').html(result); }) .error(function (xhr, status) { alert(xhr.responseText); }); });
و پس از آن محلی را که قرار است PartialView در آن بارگزاری شود، ایجاد میکنیم:
حال فقط باید اکشن مورد نظر را در HomeController پیاده سازی کنیم:
با استفاده از این کد مشخص کردیم که این اکشن، یک PartialView را با نام ProductList_ برگشت میدهد. البته در یک مثال واقعی باید لیست محصولات را هم به این PartialView پاس دهیم.
نتیجه اجرا به صورت زیر است:
<div id="sectionContents"></div>
public ActionResult Details() { return PartialView("partial/_ProductList"); }
نتیجه اجرا به صورت زیر است: