এসএসপিডটনেট এমভিসি - এইচটিএমএল হেল্পার
Sheikh Mahfuzur Rahman
Bangla Word: 250
এইচটিএমএল আউটপুটকে পরিবর্তন করতে এইচটিএমএল হেল্পারগুলো ব্যবহৃত হয়।
এইচটিএমএল হেল্পার/HTML Helpers
এমভিসি'তে এইচটিএমএল হেল্পারগুলো হলো অনেকটা গতানুগতিক ASP.NET ওয়েব ফর্ম কন্ট্রোলের মতো। ASP.NET তে ঠিক ওয়েব ফর্ম কন্ট্রোলের মতো এইচটিএমএল'কে মডিফাই করতে এইচটিএমএল হেল্পারগুলো ব্যবহৃত হয়। কিন্তু এইচটিএমএল হেল্পারগুলো আরও হালকা হয়ে থাকে।। ওয়েব ফর্ম কন্ট্রোলের মতো এইচটিএমএল হেল্পারগুলোর ইভেন্ট মডেল এবং ভিউ স্টেট নেই। বেশিরভাগ ক্ষেত্রে, এইচটিএমএল হেল্পার হলো একটি মেথড যা স্ট্রিং ( যেমন টেক্সট) ফেরত দেয়। এমভিসি'র মাধ্যমে আপনি আপনার নিজের হেল্পার তৈরি করতে পারবেন অথবা বিল্ট ইন এইচটিএমএল হেল্পার ব্যবহার করতে পারবেন।
স্ট্যান্ডার্ড এইচটিএমএল হেল্পার/Standard HTML Helpers
এমভিসি সবচেয়ে পরিচিত এইচটিএমএল এলিমেন্টগুলোর জন্য স্ট্যান্ডার্ড হেল্পার অন্তর্ভূক্ত করেছে, যেমন এইচটিএমএল লিংক ও এইচটিএমএল ফর্ম এলিমেন্টসমূহ।
এইচটিএমএল লিংক/HTML Links
একটি এইচটিএমএল লিংককে পরিচালনা ( render ) করার সবচেয়ে সহজ পথ হলো HTML.ActionLink() হেল্পার ব্যবহার করা। এমভিসি'র মাধ্যমে Html.ActionLink() কোন ভিউয়ের দিকে লিংক তৈরি করেনা। এটি একটি কন্ট্রোলার অ্যাকশানের দিকে লিংক তৈরি করে।
Razor Syntax:
@Html.ActionLink("About this Website", "About")
ASP Syntax:
<%=Html.ActionLink("About this Website", "About")%>
প্রথম প্যারামিটারটি হলো লিংক টেক্সট এবং দ্বিতীয় প্যারামিটারটি হলো কন্ট্রোলার অ্যাকশানের নাম।
উপরের Html.ActionLink() হেল্পারটি নিচের এইচটিএমএল'টি আউটপুট হিসেবে ফিরিয়ে দেয়ঃ
<a href="/Home/About">About this Website</a>
Html.ActionLink() হেল্পার এর কিছু সংখ্যক প্রপার্টি রয়েছেঃ
প্রপার্টি এবং ব্যাখ্যা । Properties and Explanations
.linkText লিংক টেক্সট (লেবেল)
.actionName টার্গেট অ্যাকশান
.routeValues অ্যাকশানে যে ভ্যালুগুলো পরিবাহিত (--) হয়
.controllerName টার্গেট কন্ট্রোলার
.htmlAttributes লিংক এর প্রতি অ্যাট্রিবিউটের সেট
.protocol লিংক প্রটোকল
.hostname লিংক এর হোস্ট নেম
.fragment লিংক এর অ্যাংকর টার্গেট
লক্ষ্যণীয়ঃ আপনি ভ্যালুগুলোকে কন্ট্রোলার অ্যাকশানে পাঠিয়ে দিতে পারেন। উদাহরণস্বরূপ, আপনি একটি ডাটাবেজ রেকর্ডের আইডি একটি ডাটাবেজ এডিট অ্যাকশানে পাঠিয়ে দিতে পারেনঃ
Razor Syntax C#:
@Html.ActionLink("Edit Record", "Edit", new {Id=3})
Razor Syntax VB:
@Html.ActionLink("Edit Record", "Edit", New With{.Id=3})
উপরের Html.ActionLink() হেল্পারটি নিচের এইচটিএমএল'টি আউটপুট দেয়ঃ
<a href="/Home/Edit/3">Edit Record</a>
এইচটিএমএল ফর্ম এলিমেন্ট
নিচের এইচটিএমএল হেল্পারগুলো এইচটিএমএল ফর্ম এলিমেন্টগুলোকে রেন্ডার ( মডিফাই এবং আউটপুট ) বা পরিচালনা করতে ব্যবহৃত হয়ঃ
BeginForm()
EndForm()
TextArea()
TextBox()
CheckBox()
RadioButton()
ListBox()
DropDownList()
Hidden()
Password()
ASP.NET Syntax C#:
<%= Html.ValidationSummary("Create was unsuccessful. Please correct the errors and try again.") %>
<% using (Html.BeginForm()){%>
<p>
FirstName">First Name:
<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
</p>
<p>
LastName">Last Name:
<%= 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>
<%}%>