در این پست از وبسایت پرووید در رابطه با بررسی فرآیند Model Binding در ASP.NET MVC #2 صحبت خواهیم کرد. معماری MVC از معمول ترین و پرکاربردترین معماری های ساخت وب اپلیکیشن ها می باشد.

در قسمت قبلی از این آموزش در رابطه با انجام Binding در Primitive Type ها صحبت کردیم.

بررسی Bind Attribute در فریم ورک ASP.NET MVC

می توان از یک Attribute با نام Bind برای شرکت دادن یا عدم شرکت دادن پروپرتی های یک Model Class در Binding استفاده کرد. بیایید یک مثال را بررسی کنیم.

بسته ی آموزش ویدئویی اصول برنامه نویسی در ASP.NET Core

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی اصول برنامه نویسی در ASP.NET Core نیز دیدن کنید.

یک Action Method با نام Edit در قسمت زیر تعریف شده است.

[HttpPost]
public ActionResult Edit([Bind(Include = "StudentId, StudentName")] Student std)
{
    var name = std.StudentName;
           
    //write code to update student 
            
    return RedirectToAction("Index");
}

این Action Method قصد دارد که داده های ورودی یک HTTP Request را به یک Object از Model Class ای با نام Student تبدیل کند. در درون این Action Method از همان Bind به عنوان یک Attribute استفاده شده است. همانطور که مشاهده می کنید از دستور Include برای شامل کردن پروپرتی هایی که قصد داریم در Model Binding مورد استفاده قرار بگیرند استفاده کرده ایم.

بسته ی آموزش ویدئویی ساخت وب اپلیکیشن کامل با ASP.NET Core ،MVC 6 ،EF Core و Angular

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی ساخت وب اپلیکیشن کامل با ASP.NET Core ،MVC 6 ،EF Core و Angular نیز دیدن کنید.

علاوه بر این، می توانید با استفاده از دستور Exclude که در کد زیر نیز نشان داده شده است برخی از پروپرتی ها را در Model Binding شرکت ندهید.

[HttpPost]
public ActionResult Edit([Bind(Exclude = "Age")] Student std)
{
    var name = std.StudentName;
           
    //write code to update student 
            
    return RedirectToAction("Index");
}

بنابراین با استفاده از این Attribute میتوانید Performance برنامه را بهبود ببخشید چرا که فقط پروپرتی هایی که واقعاً به آنها نیاز دارید در Model Binding شرکت داده می شوند.

بررسی فرایند Model Binding

همانطور که که ممکن است تا اینجای کار هم حدس زده باشید فرایند Model Binding یک فرآیند دو مرحله ای است. در واقع این فرآیند به صورت خودکار Value های درون یک Request را به Primitive Type ها و یا Complex Type هایی که به عنوان پارامتر Action Method ها تعریف شده اند Bind می کند. ما گفتیم که Model Binding یک فرآیند دو مرحله ای است.

بسته ی آموزش ویدئویی ساخت وب اپلیکیشن با ASP.NET Core و React

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی ساخت وب اپلیکیشن با ASP.NET Core و React نیز دیدن کنید.

در مرحله اول ابتدا Value ها از درون HTTP Request ای که وارد Action Method شده است دریافت می شوند و در مرحله دوم آن Value ها به یک Primitive Type ها و Complex Type هایی که به عنوان پارامترهای ورودی Action Method تعریف شده اند Bind می شوند. در Model Binding دو قسمت مختلف وجود دارند. اولاً Value Provider ها وظیفه ی استخراج کردن Value ها و Model Binder ها وظیفه ی پر کردن پروپرتی ها با این Value ها را دارند. در تصویری که در قسمت زیر مشاهده می کنید عملیات دو مرحله ای Model Binding در فریم ورک MVC نشان داده شده است.

امیدواریم که این آموزش از وبسایت پرووید نیز مورد توجه تمامی دوستان عزیز قرار گرفته باشد. از شما دعوت می‌کنیم که از دیگر آموزش های ما در رابطه با فریم ورک MVC استفاده کنید. لیست کامل این آموزش ها را می توانید در پست مربوط به آموزش کامل توسعه وب اپلیکیشن با ASP.NET MVC مشاهده کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *