
یادگیری سی شارپ از مفاهیم پایه تا پروژه محور: شیگرایی، کار با SQL و LINQ، ORMها (Entity Framework)، ساخت پروژه مدیریت رستوران با گزارشات حرفهای و امکانات کامل!
مشاهده بیشتر
یادگیری MVC Core از مبانی تا پیشرفته: شیگرایی، Routing، Entity Framework، امنیت، تست یونیت، Razor، Ajax، و پروژههای کاربردی! یک دوره کامل برای تسلط بر توسعه وب با ASP.NET Core. به صورت حضوری و آنلاین!
مشاهده بیشترمشخصات مقاله
آموزش کار با متد Editor() در MVC HtmlHelper
آموزش کار با متد ()Editor در کلاس MVC HtmlHelper :
در درس های قبل، با انواع متدهای کمکی HtmlHelper آشنا شدید که المنت های مختلف HTML را در یک Razor View زبان ASP.Net MVC تولید می کردند.
ASP.Net MVC همچنین شامل یک متد HtmlHelper است که بر حسب نوع داده ای متغیر ارسال شده، یک تگ html input متناسب با آن، تولید می کند.
متدهای ویژه ()Editor و ()EditorFor بر حسب نوع داده (datatype) خاصیت شی مدل (object model property)، یک المنت html متناسب با آن، برایش تولید می کنند.
لیست زیر، المنت مختلف HTML ای که بر حسب نوع داده ای خاصی، توسط متدهای ()Editor و ()EditorFor تولید می شوند را نشان می دهد :
از کد کلاس Student Model زیر در مثال های آموزش کار با متد ()Editor و ()EditorFor استفاده کرده ایم :
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 در MVC Razor View :
متد ()Editor به یک پارامتر رشته ای (string) برای دریافت نام خاصیت مورد نظرمان نیاز دارد. به عبارت دیگر، نام خاصیت مدل مورد نظر را توسط پارامتر اول به متد ارسال کرده و سپس این متد، المنت HTML متناسب با نوع داده ای خاصیت مدل را تولید می کند. ساختار کلی استفاده از متد ()Editor به صورت زیر است :
MvcHtmlString Editor(string propertyname)
برای دریافت سایر حالت های مختلف فراخوانی (overload) متد ()Editor به سایت MSDN بروید.
در کد مثال عملی زیر، برای تمامی خواص مدل Student در Razor View ، یک المنت HTML را با کمک متد ()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")

در کد مثال فوق، نام خاصیت های مدل را به صورت یک String به متد ()Editor ارسال کرده ایم. در نتیجه، متد، المنت HTML متناسب را بر حسب نوع داده ای خاصیت مورد نظر تولید کرده است.
آموزش کار با متد ()EditorFor در MVC Razor View :
متد ()EditorFor یک متد Strongly Typed (ملزم به رعایت نوع داده ای متغیر و پارامترها) است. این متد به یک lambada expression جهت تعیین خاصیت موردنظر مدل نیاز دارد.
ساختار کلی استفاده از متد ()EditorFor به صورت زیر است :
MvcHtmlString EditorFor(<expression<func<tmodel,tvalue>> expression)
در کد مثال زیر، برای تمامی خاصیت های مدل Student در Razor View با استفاده از متد ()EditorFor یک المنت HTML، متناسب را تولید کرده ایم :
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)

در کد مثال فوق، توسط یک lambada expression، نام خاصیت های مورد نظر را برای متد ()EditorFor تعیین کرده ایم. خروجی این متد، همانند متد EditorFor خواهد بود.