با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش ASP.NET MVC ، را دنبال می کنند. ما در بخش های قبل به آموزش انواع متدهای HtmlHelper برای تولید عناصر مختلف html پرداختیم. ASP.NET MVC هچنین شامل متدهایی برای تولید عناصر ورودی (input) بر اساس نوع داده ی ورودی می باشد. در ادامه ی مباحث فوق شما را با چگونگی ایجاد فرم با HtmlHelper در ASP.NET MVC آشنا خواهیم کرد.
متدهای ()Editor یا ()EditorFor عناصر html ورودی را بر اساس نوع داده ی آن ها از ویژگی مدل آبجکت تولید می کند.
جدول فوق لیستی از عناصر ورودی html با نوع داده ی مختلف که با متدهای ()Editor یا ()EditorFor تولید شده را نمایش می دهد:
Property DataType | Html Element |
---|---|
string | <input type="text" > |
int | <input type="number" > |
decimal, float | <input type="text" > |
boolean | <input type="checkbox" > |
Enum | <input type="text" > |
DateTime | <input type="datetime" > |
ما در کلاس مدل Student با متدهای ()Editor یا ()EditorFor استفاده می کنیم.
کلاس مدل Student :
1 2 3 4 5 6 7 8 9 10 | 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 به یک پارامتر رشته برای مشخص کردن نام ویژگی نیاز دارد. این یک عنصر html بر اساس نوع داده از ویژگی مشخص شده تولید می کند.
ساختار ()Editor :
1 | MvcHtmlString Editor(string propertyname) |
مثال زیر چگونگی تولید عناصر ورودی html را بر اساس نوع داده ی آن ها، در قالب ایجاد یک فرم نشان می دهد:
1 2 3 4 5 6 7 | 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") |
نتیجه ی کد فوق در html:
در مثال فوق، ما یک ویژگی نام مشخص شده از مدل Student به عنوان یک رشته داریم. بنابراین متد ()Editor عناصر ورودی مناسب بر اساس نوع داده در قالب یک فرم تولید می کند.
متد ()EditorFor یک متد تایپ قوی است که به یک ساختار لامبدا برای تشخیص ویژگی مدل آبجکت نیاز دارد.
ساختار متد ()EditorFor :
1 | MvcHtmlString EditorFor(<Expression<Func<TModel,TValue>> expression) |
مثال – متد ()EditorFor در نمای Rozar :
1 2 3 4 5 6 7 | 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) |
نتیجه ی کد فوق در html:
در مثال فوق از متد ()EditorFor ما یک ویژگی نام با استفاده از ساختار لامبدا مشخص کرده ایم. در نتیجه عناصر ورودی html در قالب یک فرم ورودی مانند شکل فوق، ایجاد می شود.
در این بخش از آموزشهای HtmlHelper نیز چگونگی ایجاد فرم با HtmlHelper در ASP.NET MVC و متدهای کاربردی آن را نیز مورد بررسی قرار داده و فصل مباحث HtmlHelper را به پایان رسانیدیم. در فصل بعدی به مباحث اعتبارسنجی خواهیم پرداخت.