آشنایی با نوع PartialViewResult در MVC

پنجشنبه 12 آذر 1394

کنترلر MVC انواع مختلفی از خروجی را با توجه به داده هایی که در برنامه نیاز داریم برمی گرداند. در این مقاله می خواهیم در مورد نوع خروجی PartialView در MVC توضیح دهیم.

آشنایی با نوع PartialViewResult  در MVC

مفاهیم

ActionResult چیست؟

این یک نوع فرمت کلی خروجی است که برای کلاینت نشان داده می شود و هرنوع داده مورد استفاده را از Ation Method بر می گرداند.

PartialViewResult چیست؟

PartialViewResult برای برگرداندن یک صفحه نمایش جزیی یا partial view استفاده می شود.

کلاس PartialViewResult از کلاس ViewResultBase ارث بری می کند. بنابراین Property  ها و متدهای  کلاس ViewResultBase را پیاده سازی می کند که برای کار کردن و ارائه دادن(Render کردن) partial view مورد استفاده قرار می گیرد. موارد زیر ویژگی های PartialViewResult هستند که از ViewResultBase ارث بری شده اند.

نکات کلیدی موجود به صورت زیر مطرح می شوند:

Partial View از layout page استفاده نمی کند زیرا که قرار است در view اصلی قرار بگیرد و خود آن صفحه قبلا از layout استفاده کرده است.

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

Partial View تمام رویدادهای یک صفحه مانند صفحه اصلی را در بر نمی گیرد.

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

 

Property های مربوط به PartialViewResult(خصوصیت هایViewResultBase)

    Model

    TempData

    View

    ViewBag

    ViewData

    ViewEngineCollection

    ViewName

متدهای PartialViewResult (متدهای PartialViewResult)

   ExecuteResult

    FindView

    Equals( )

    ( )Finalize

    ( )GetHashCode

    GetType( )

    ( )MemberwiseClone

    ( )ToString

حالا می خواهیم PartialView را به طور عملی پیاده سازی کنیم.

مرحله 1: یک برنامه MVC ایجاد کنید:

برنامه Visual Studio را باز کرده و New->Project و بعد ASP.NET Web Application Template را انتخاب کرده و نام مناسب قرار دهید و در آخر OK را بزنید.

مرحله 2: اضافه کردن کلاس Controller

بر روی پوشه Controller راست کلیک کرده و نام کنترلر را Home قرار داده و بر روی OK کلیک کنید.

HomeControlle.cs

public class HomeController : Controller    
{    
    // GET: for main view    
    public ActionResult Index()    
    {    
    return View();    
    }    
    [HttpGet]    
    public PartialViewResult EmpList()    
    {    
    //for partial view    
  
    return PartialView();    
    }    
}  

در کلاس کنترلر بالا یک متد action اضافه کردیم که Index است و صفحه  View اصلی را برمی گرداند و EmpList صفحه partial view را برمی گرداند.

مرحله 2: اضافه کردن View اصلی

بر روی پوشه Home داخل پوشه View راست کلیک کنید، مانند زیر:

 

نام Index را قرار داده و بر روی دکمه Add کلیک کنید.

مرحله 3: اضافه کردن Partial View

بر روی پوشه Home داخل پوشه View راست کلیک کنید  و Add View را بزنید تا تصویر زیر نشان داده شود و به صورتی که در عکس نشان داده شده پیش بروید:

 

مرحله 4: برنامه را اجرا کرده و partial view را با نوشتن آدرس Home/EmpList فراخوانی کنید. این کار صفحه ای به صورت زیر ارائه می دهد:

 

دیدید که Partial View از Layout پیروی نمی کند.

مرحله 5: فراخوانی Partial view در View اصلی

کد زیر را داخل View اصلی بنویسید تا Partial View فراخوانی شود:

<div>  
  
   @Html.Partial("EmpList")  
</div>

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

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید