بررسی متد Label و LabelFor در ASP.NET MVC

بررسی متد Label و LabelFor در ASP.NET MVC

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

در این قسمت از سری آموزش جامع و رایگان ASP.NET MVC از وب سایت پرووید در رابطه با ایجاد کردن یک <label> در HTML با استفاده از ASP.NET MVC صحبت خواهیم کرد. درکلاس HtmlHelper دو Extension Method با نامهای Label() و LabelFor() وجود دارند که به منظور ایجاد کردن یک Label مورد استفاده قرار می گیرند. در مورد Extension Method ها در آموزش کامل توسعه نرم افزار با سی شارپ به طور کامل صحبت کرده ایم. به منظور بررسی کردن این دو متد از یک Model class به نام Student استفاده خواهیم کرد که کد آنرا در قسمت زیر مشاهده می کنید.

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

بررسی متد Label()

متد Html.Label() به منظور ایجاد کردن یک <label> بر اساس یک Property مشخص از یک Model class مورد استفاده قرار می گیرد. کدی که در قسمت زیر مشاهده می کنید Signature مربوط به متد Label() را نشان می دهد.

MvcHtmlString Label(string expression, string labelText, object htmlAttributes)

ضمناً با روجوع کردن به MSDN مایکروسافت می توانید Overload های مختلف مربوط به متد Label() را نیز بررسی کنید. کد زیر نحوۀ استفاده کردن از متد Label() را نشان می دهد.

@Html.Label("StudentName")

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

<label for="StudentName">Name</label>

همانطور که در مثال بالا مشاهده می کنید ما پروپرتی StudentName از کلاس Student را در قالب یک String به عنوان پارامتر ورودی متد Label() به آن تحویل داده ایم. این موضوع باعث می شود که یک <label> که کلمه ی Name را نشان می دهد در خروجی ایجاد شود.

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

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

علاوه بر این موضوع می توانید دقیقاً مشخص کنید که چه متنی در خروجی نشان داده شود. این موضوع در کد زیر نشان داده شده است.

@Html.Label("StudentName","Student-Name")

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

<label for="StudentName">Student-Name</label>

بررسی متد LabelFor()

متد LabelFor() نیز به عنوان یک Extension Method دیگر به منظور ایجاد کردن یک Label در HTML مورد استفاده قرار می گیرد. متد LabelFor() بصورت Strongly Typed عمل می کند و این بدان معناست که Property مورد نظر از Model Class مربوطه را با استفاده از یک Lambda Expression به متد LabelFor() تحویل می دهیم. در مورد Lambda Expression ها در آموزش ویدئویی Lambda Expression در سی شارپ به طور کامل صحبت کرده ایم.

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

MvcHtmlString LabelFor(<Expression<Func<TModel,TValue>> expression)

ضمناً با رجوع کدرن به MSDN مایکروسافت می توانید دیگر Overload های مربوط به این متد را نیز بررسی کنید. کد زیر نحوۀ استفاده کردن از این متد را نشان می دهد.

@model Student

@Html.LabelFor(m => m.StudentName)

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

<label for="StudentName">Name</label>

همانطور که در مثال بالا مشاهده کردید ما از یک Property به نام StudentName که از درون کلاس Student انتخاب شده است در یک Lambda Expression استفاده کرده ایم و آن Lambda Expression را به متد LabelFor() تحویل داده ایم. این موضوع باعث می شود که یک <label> در خروجی ایجاد شود و متن درون آن هم نام با نام پراپرتی StudentName باشد.

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

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

ارسال نظر

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