بررسی متد Display و DisplayFor در ASP.NET MVC

بررسی متد Display و DisplayFor در ASP.NET MVC

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

در این قسمت از سری آموزش جامع و رایگان ASP.NET MVC از وب سایت پرووید در رابطه با ایجاد کردن String Literal ها در HTML و با استفاده از Extension Method های کلاس HtmlHelper صحبت خواهیم کرد. در مورد Extension Method ها در آموزش کامل توسعه نرم افزار با سی شارپ به طور مفصل صحبت کرده ایم. در کلاس HtmlHelper دو Extension Method با نامهای Display() و DisplayFor() وجود دارند که با استفاده از آن می توانیم String Literal ایجاد کنیم. به منظور بررسی کردن این دو متد از یک Model Class به نام Student استفاده می کنیم که کد آن در قسمت زیر نشان داده شده است.

public class Student
{
    public int StudentId { get; set; }
    public string StudentName { get; set; }
    public int Age { get; set; }
}

بررسی متد  Display()

متد Html.Display() یک Extension Method است که بصورت Loosely Typed عمل می کند و به منظور ایجاد کردن یک String Literal در Razor View مورد استفاده قرار می گیرد. کدی که در قسمت زیر مشاهده می کنید Signature مربوط به متد Display() را نشان می دهد. ضمناً می توانید با رجوع کردن به MSDN مایکروسافت Overload های دیگر مربوط به این متد را بررسی کنید.

MvcHtmlString Display(string expression)

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

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

کدی که در قسمت زیر مشاهده می کنید نحوه ی استفاده کردن از متد Display() را نشان می دهد.

@Html.Display("StudentName")

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

"Steve"

بررسی متد DisplayFor()

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

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

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

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

@model Student

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

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

" Steve"

همانطور که در مثال بالا مشاهده می کنید ما پروپرتی StudentName از کلاس Student را به عنوان Property مورد نظر انتخاب کرده ایم. این Property در قالب یک Lambda Expression برای متد DisplayFor() تنظیم شده است. این موضوع باعث می شود که یک String Literal با مقدار موجود در پراپرتی StudentName که در این مثال کلمه ی Steve می باشد در خروجی تولید شود.

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

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

ارسال نظر

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