آموزش MVC-مفهوم Helper
Helperهای HTML برای تغییر خروجی HTML به کار می روند.
HTML Helpers
Helperهای HTML در MVC، شبیه کنترل های WebForm هستند.
Helperهای HTML، دقیقا مانند کنترل های WebForm در ASP.NET، برای تغییر خروجی HTML استفاده می شوند. اما Helperهای HTML سبک تر هستند.
Helperهای HTML بر خلاف کنترل های WebForm، مدل مبتنی بر رویداد و view state ندارند.
در اکثر حالات، یک Helper، متدی است که یک رشته را بر می گرداند.
در MVC، این قابلیت وجود دارد که یا helperهای شخصی سازی شده برای خودتان تعریف نمایید، یا می توانید ازHelperهای HTML آماده استفاده نمایید.
HTML Helper های استاندارد
MVC دارای Helperهای استانداری برای بعضی از تگ های HTML، مانند لینک و فرم HTML، می باشد.
لینک های HTML
آسان ترین روش برای render گرفتن از لینک HTML استفاده از helperی با نام ()HTML.ActionLink می باشد.
در MVC، متد ()Html.ActionLink، به view لینک نمی شود. این متد یک لینک به actionی که در controller قرار دارد، ایجاد می نماید.
گرامر Razor:
گرامر ASP:
اولین پارامتر متنی است که لینک نمایش می دهد و دومین پارامتر نام action ی است که در controller قرار دارد.
()Html.ActionLink که در بالا ایجاد شد، خروجی HTML زیر را تولید می کند:
()Html.ActionLink دارای ویژگی های متعددی است:
خصوصیت | توضیح |
---|---|
.linkText | متن لینک را مشخض می کند |
.actionName | نام action را مشخص می کند |
.routeValues | مقداری که به action ارسال می شود را مشخص می کند |
.controllerName | نام کنترلر را مشخص می کند |
.htmlAttributes | مجموعه خصوصیت مربوط به link را مشخص می کند |
.protocol | پروتکل لینک را مشخص می کند |
.hostname | نام host لینک را مشخص می کند |
.fragment | anchor لینک را مشخص می کند |
نکته: شما می توانید مقادیر را به action ارسال نمایید. برای مثال، شما می توانید id یک رکورد پایگاه داده را برای action مربوط به ویرایش جدول مربوطه ارسال نمایید.
گرامر Razor در #C:
گرامر Razor در VB:
()Html.ActionLink که در بالا ایجاد شد، خروجی HTML زیر را تولید می کند:
عناصر فرم HTML
HTML helper های زیر برای render کردن تگ های مربوط به فرم های HTML استفاده می شود:
- BeginForm()
- EndForm()
- TextArea()
- TextBox()
- CheckBox()
- RadioButton()
- ListBox()
- DropDownList()
- Hidden()
- Password()
گرامر ASP.NET در #C:
<% using (Html.BeginForm()){%>
<p>
<label for="FirstName">First Name:</label>
<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
</p>
<p>
<label for="LastName">Last Name:</label>
<%= Html.TextBox("LastName") %>
<%= Html.ValidationMessage("LastName", "*") %>
</p>
<p>
<label for="Password">Password:</label>
<%= Html.Password("Password") %>
<%= Html.ValidationMessage("Password", "*") %>
</p>
<p>
<label for="Password">Confirm Password:</label>
<%= Html.Password("ConfirmPassword") %>
<%= Html.ValidationMessage("ConfirmPassword", "*") %>
</p>
<p>
<label for="Profile">Profile:</label>
<%= Html.TextArea("Profile", new {cols=60, rows=10})%>
</p>
<p>
<%= Html.CheckBox("ReceiveNewsletter") %>
<label for="ReceiveNewsletter" style="display:inline">Receive Newsletter?</label>
</p>
<p>
<input type="submit" value="Register" />
</p>
<%}%>
- نوشته شده توسط مظاهر نصوحی
- بازدید: 17873