
آشنایی با Model Binding در ASP.NET CORE
روش های مختلفی برای ارسال اطلاعات از لایه View به Controller وجود دارد. که یکی از این روش ها استفاده از Query String بود که در آموزش قبلی مورد برسی قرار گرفت. به روش هایی که میتوان داده های کاربر را در سمت سرور یا همان Controller دریافت کنیم Model Binding گفته میشود. در این آموزش با برخی از روش های Binding آشنا میشویم.
Model Binding در ASP.NET به فرآیندی اطلاق میشود که در آن دادهها به طور خودکار توسط Request های کاربر در پارامترهای ورودی کنترلرها بایند میشود. این کار به برنامه نویسان اجازه میدهد تا دادههای ورودی کاربران را به راحتی و به صورت خودکار به مدلها، پارامترهای ورودی متدها، یا سایر ساختارهای دادهای تبدیل کنند.
نحوه کار Model Binding
Model Binding در ASP.NET Core یک فرآیند است که به طور خودکار دادهها را از درخواستهای HTTP استخراج میکند و آنها را به پارامترهای Action در کنترلرها متصل میکند. این فرآیند شامل استخراج دادهها از منابع مختلف مانند فرمها، Query String و مسیر Url یا همان Route است و آنها را به انواع دادههای .NET تبدیل میکند. Model Binding به توسعهدهندگان کمک میکند تا بدون نیاز به نوشتن کد اضافی برای استخراج و تبدیل دادهها، به راحتی با دادههای فرمها کار کنند.
کدهای ایجاد فرم برای Model Binding
- کدهای صفحه Controller
public IActionResult Index()
{
return View();
}
[HttpGet]
public IActionResult Register()
{
return View();
}
[HttpPost]
public IActionResult Register(string Name, string Family, string Age, string Gender)
{
return View();
}
[HttpPost]
public IActionResult Register(RegisterUser registerUser)
{
if (ModelState.IsValid) {
return RedirectToAction("Index");
}
return View();
}- کدهای مدل ایجاد شده
public class RegisterUser
{
public string Name { get; set; }
public string Family { get; set; }
public string Age { get; set; }
public string Gender { get; set; }
}- کدهای صفحه View
<form method="post" action="Register">
<input type="text" id="Name" name="Name" placeholder="Name" class="My-form" />
<input type="text" id="Family" name="Family" placeholder="Family" class="My-form" />
<input type="number" id="Age" name="Age" placeholder="Age" class="My-form" />
<label for="Gender">Men</label>
<input type="radio" value="M" id="Gender" name="Gender" />
<label for="Gender">Woman</label>
<input type="radio" value="F" id="Gender" name="Gender" />
<input type="submit" value="Register" class="My-form" />
</form>سورس کد ModelBinding
شما میتوانید سورس کد کامل ModelBinding را از طریق گیت مشاهده کنید و یا اگر گیت کار نمیکنید، به راحتی آن را به صورت فایل فشرده (ZIP) دانلود کنید. فایلهای دانلودی شامل تمام بخشهای پروژه است و میتوانید آن را روی سیستم خود اجرا یا تغییر دهید.
































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