بررسی متد CheckBox و CheckBoxFor در ASP.NET MVC

بررسی متد CheckBox و CheckBoxFor در ASP.NET MVC

در این پست از وبسایت پرووید در رابطه با بررسی متد CheckBox و CheckBoxFor در ASP.NET MVC صحبت خواهیم کرد. معماری MVC از معمول ترین و پرکاربردترین معماری های ساخت وب اپلیکیشن ها می باشد.

در این مقاله از وب سایت پرووید در رابطه با ایجاد کردن CheckBox در ASP.NET MVC صحبت خواهیم کرد. اینکار با استفاده از متدهای موجود در کلاس HtmlHelper انجام خواهد شد. در کلاس HtmlHelper دو Extension Method با نامهای CheckBox و CheckBoxFor() وجود دارند که برای ایجاد کردن یک  CheckBox و یا همان <input type=”checkbox”> در Html مورد استفاده قرار می گیرند. به منظور بررسی ایندو متد ما از یک Model Class با نام Student که کد آنرا در قسمت زیر مشاهده می کنید استفاده خواهیم کرد.

public class Student
{
    public int StudentId { get; set; }
    [Display(Name="Name")]
    public string StudentName { get; set; }
    public int Age { get; set; }
    public bool isNewlyEnrolled { get; set; }
    public string Password { get; set; }
}

بررسی متد CheckBox()

متد Html. CheckBox() یک متد Loosely Typed می باشد که به منظور ایجاد کردن یک <input type=”checkbox”> با یک نام مشخص و همچنین مقدار IsChecked مشخص و نهایتاً HTML Attribute های مشخص مورد استفاده قرار می گیرد. کدی که در قسمت زیر مشاهده می کنید Signature مربوط به متد CheckBox() را نشان می دهد.

 MvcHtmlString CheckBox(string name, bool isChecked, object htmlAttributes) 

علاوه بر این می توانید با مراجعه به MSDN مایکروسافت Overload های دیگر مربوط به این متد را نیز بررسی کنید. کدی که در قسمت زیر مشاهده می کنید مثالی از نحوه ی استفاده کردن از این متد را نشان می دهد.

@Html.CheckBox("isNewlyEnrolled", true)

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

<input checked="checked" 
        id="isNewlyEnrolled" 
        name="isNewlyEnrolled" 
        type="checkbox" 
        value="true" />

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

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

همانطور که در مثال بالا مشاهده می کنید اولین پارامتر برای متد CheckBox() نام یک Property از Model Class مربوطه است که قصد داریم هم بعنوان Attribute های Name و Id چک باکس در نظر گرفته بشوند و هم این CheckBox به آنها Bind بشود. ما در این مثال از یک Property با نام IsNewlyEnrolled از کلاس Student استفاده کرده ایم. پارامتر دوم برای متد CheckBox() یک مقدار Boolean است که مشخص می کند که آیا CheckBox در حالت انتخاب شده قرار بگیرد و یا در حالت غیر انتخاب شده.

بررسی متد ChckBoxFor()

متد CheckBoxFor() نیز یک Extension Method دیگر است که در کلاس HTML قرار دارد و به منظور ساختن یک CheckBox از آن استفاده می شود. این متد بصورت Strongly Typed عمل می کند و این موضوع بدان معناست که Property مورد نظر را در قالب یک Lambda Expression برای این متد تنظیم می کنیم و نه یک String. در رابطه با Lambda Expression ها می تونید از آموزش ویدئویی Lambda Expression در سی شارپ استفاده کنید. با استفاده از متد CheckBoxFor() می توانیم یک Property مورد نظر از Model Class مورد نظرمان را به CheckBox ساخته شده اصطلاحاً Bind کنیم. این موضوع باعث می شود که بر اساس مقدار درون آن پراپرتی، CheckBox مورد نظر در حالتهای Checked و یا Unchecked قرار بگیرد.

کدی که در قسمت زیر مشاهده می کنید مربوط به Signature متد CheckBoxFor() می باشد.

 MvcHtmlString CheckBoxFor(<Expression<Func<TModel,TValue>> expression, object htmlAttributes) 

علاوه بر این با رجوع کردن به MSDN مایکروسافت می توانید Overload های دیگر این متد را نیز بررسی کنید. کد زیر مثالی از نحوه ی استفاده کردن از این متد را نشان می دهد.

@model Student

@Html.CheckBoxFor(m => m.isNewlyEnrolled)

کد زیر خروجی HTML نهایی را به تصویر کشیده است.

<input data-val="true" 
        data-val-required="The isNewlyEnrolled field is required." 
        id="isNewlyEnrolled" 
        name="isNewlyEnrolled" 
        type="checkbox" 
        value="true" />

<input name="isNewlyEnrolled" type="hidden" value="false" />

همانطور که در مثال بالا مشاهده می کنید اولین پارامتر برای متد CheckBoxFor() یک Lambda Expression است که با استفاده از آن یک Property از Model Class مربوطه را انتخاب می کنیم. ما در این مثال از یک Property با نام IsNewlyEnrolled از کلاس Student استفاده کرده ایم. این موضوع باعث می شود که یک <input type=”checkbox”> در خروجی ساخته شود و Attribute های Id و Name آن با نام Property انتخاب شده یعنی همان IsNewlyEnrolled تنظیم بشود. علاوه بر این مقدار مربوط به این Property مشخص کننده ی این موضوع خواهد بود که آیا CheckBox در حالت Checked قرار بگیرد و یا در حالت UnChecked.

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

مرتضی گیتی
بدون نظر

ارسال نظر

نظر
نام
ایمیل
وب سایت