بررسی متد Password و PasswordFor در ASP.NET MVC

بررسی متد Password و PasswordFor در ASP.NET MVC

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

در این قسمت از سری آموزش جامع و رایگان ASP.NET MVC از وب سایت پرووید در رابطه با ایجاد کردن یک <input type=”password”> در ASP.NET MVC صحبت خواهیم کرد.

در کلاس HtmlHelper دو Extension Method با نامهای Password() و PasswordFor() وجود دارند که برای ایجاد کردن یک <input type=”password”> در ASP.NET MVC مورد استفاده قرار می گیرند. در آموزش کامل توسعه نرم افزار با سی شارپ در رابطه با Extension Method ها صحبت کرده ایم. به منظور بررسی کردن متدهای Password() و PasswordFor() ما از یک 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 OnlinePassword { get; set; }
}

بررسی متد Password()

متد Html.Password() به منظور ایجاد کردن یک Password Element با Attribute های Name و Value و HTML Attribute های مشخص مورد استفاده قرار می گیرد. کدی که در قسمت زیر مشاهده می کنید Signature مربوط به متد Password() را نشان می دهد.

MvcHtmlString Html.Password(string name, object value, object htmlAttributes)

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

@model Student

@Html.Password("OnlinePassword")

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

<input 
        id="OnlinePassword" 
        name="OnlinePassword" 
        type="password" 
        value="" />

همانطور که در مثال بالا مشاهده می کنید یک <input type=”password”> در خروجی شبیه به تصویر زیر ساخته خواهد شد.

htmlhelper password - بررسی متد Password و PasswordFor در ASP.NET MVC

بررسی متد PasswordFor()

متد PasswordFor() نیز به عنوان یک Extension Method به منظور ایجاد کردن یک <input type=”password”> مورد استفاده قرار می گیرد. این متد بصورت Strongly Typed عمل می کند که این موضوع بدان معناست که Property مورد نظر از Model class مربوطه را در قالب یک Lambda Expression برای متد PasswordFor() تعریف می کنیم.

بسته ی آموزش ویدئویی اصول برنامه نویسی در ASP.NET Core

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

متد PasswordFor باعث می شود که Property انتخاب شده به Element نهایی Bind بشود بنابراین مقداری که در درون <input type=”password”> نهایی قرار بگیرد بصورت خودکار در Property انتخاب شده قرار گرفته و مقدار درون Property انتخاب شده به درون این <input type=”password”> منتقل می شود.

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

MvcHtmlString Html.PasswordFor(Expression<Func<dynamic,TProperty>> expression, object htmlAttributes)

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

@model Student

@Html.PasswordFor(m => m.Password)

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

<input id="Password" name="Password" type="password" value="mypassword" />

همانطور که در مثال بالا مشاهده می کنید اولین پارامتر برای متد PasswordFor() یک Lambda Expression است که با استفاده از آن یک Property از Model Class مربوطه را انتخاب کرده ایم. از آموزش ویدئویی Lambda Expression در سی شارپ برای یادگیری Lambda Expression ها استفاده کنید. ما در این مثال از یک Property با نام Password استفاده کرده ایم. این موضوع باعث می شود که یک <input type=”password”> که Attribute های Id و Name آن با نام Property مورد نظر که همان Password می باشد تنظیم شده اند ایجاد بشود. علاوه بر این مقدار Value به عنوان یک Attribute با مقدار موجود در پروپرتی Password که رشته ی MyPassword می باشد تنظیم خواهد شد.

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

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

ارسال نظر

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