بررسی متد Editor و EditorFor در ASP.NET MVC

بررسی متد Editor و EditorFor در ASP.NET MVC

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

در این قسمت از سری آموزش جامع و رایگان ASP.NET MVC از وب سایت پرووید در رابطه با دو Extension Method دیگر با نامهای Editor() و EditorFor() صحبت خواهیم کرد. در قسمتهای قبلی از این آموزش دیدیم که برای ایجاد کردن HTML Element های مختلف در ASP.NET MVC از Extension Method های مختلف تعریف شده در کلاس Html استفاده می کنیم. ضمناً در آموزش کامل توسعه نرم افزار با سی شارپ در رابطه با Extension Method ها صحبت کرده ایم.

علاوه بر متدهایی که در قسمتهای قبلی بررسی کردیم فریم ورک ASP.NET MVC دارای دو Extension Method دیگر با نامهای Editor() و EditorFor() می باشد که براساس Data Type و یا نوع داده ای مربوط به Property انتخاب شده از یک Model Class اقدام به ایجاد کردن HTML Element های مناسب در خروجی می کند. جدولی که در قسمت زیر مشاهده می کنید HTML Element های تعریف شده توسط متدهای Editor() و EditorFor() براساس Data Type مربوط به Property های مورد استفاده را نشان می دهد.

editor and editor for - بررسی متد Editor و EditorFor در ASP.NET MVC

به منظور بررسی کردن رفتار متدهای Editor() و EditorFor() از یک 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; }
    public DateTime DoB { get; set; }
}

بررسی متد Editor()

متد Editor() به عنوان یک Extension Method نام یک Property را در قالب یک String دریافت می کند و سپس بر اساس Data Type و یا نوع داده ای آن HTML Element مناسبی را در خروجی ایجاد می کند. کدی که در قسمت زیر مشاهده می کنید Signature مربوط به متد Editor() را نشان می دهد.

MvcHtmlString Editor(string propertyname)

بسته ی آموزش ویدئویی ASP.NET MVC و Entity Framework در قالب پروژه

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

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

StudentId:      @Html.Editor("StudentId")
Student Name:   @Html.Editor("StudentName")
Age:            @Html.Editor("Age")
Password:       @Html.Editor("Password")
isNewlyEnrolled: @Html.Editor("isNewlyEnrolled")
Gender:         @Html.Editor("Gender")
DoB:            @Html.Editor("DoB")

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

htmlhelper editor - بررسی متد Editor و EditorFor در ASP.NET MVC

همانطور که در مثال بالا مشاهده کردید ما از نامهای Property های مختلف موجود در کلاس Student به عنوان پارامتر ورودی متد Editor() استفاده کرده ایم. این موضوع باعث می شود که متد Editor() براساس Data Type های مربوط به این Property ها Html Element مناسب را در خروجی ایجاد کند.

بررسی متد EditorFor()

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

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

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

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

 

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

StudentId:      @Html.EditorFor(m => m.StudentId)
Student Name:   @Html.EditorFor(m => m.StudentName)
Age:            @Html.EditorFor(m => m.Age)
Password:       @Html.EditorFor(m => m.Password)
isNewlyEnrolled: @Html.EditorFor(m => m.isNewlyEnrolled)
Gender:         @Html.EditorFor(m => m.Gender)
DoB:            @Html.EditorFor(m => m.DoB)

تصویر زیر خروجی تولید شده در مرورگر را به تصویر کشیده است.

htmlhelper editor - بررسی متد Editor و EditorFor در ASP.NET MVC

همانطور که در مثال بالا مشاهده کردید ما نامهای Property های مختلف موجود در کلاس Student را در قالب Lambda Expression به متد EditorFor() تحویل داده ایم. این موضوع باعث می شود که بر اساس DataType مربوط به هر کدام از Property ها HTML Element های مناسب در خروجی ایجاد شود.

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

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

ارسال نظر

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