Skip to main content

What are HTML Helpers in ASP.NET MVC?

What are HTML Helpers in ASP.NET MVC?
Think of HTML Helper in ASP.NET MVC as a method returning a string. So, What can be that string? The returning string is basically a HTML string that can render a HTML tag, For example, a link, an image or other form elements.
Developers who have worked with ASP.NET Web Forms can map HTML helper to Web Form Controls because both serves the same purpose. But HTML helper are comparatively lightweight because they don’t have view state and event model like Web Form Controls. Along with the built in HTML helpers, we can also create our own custom helpers to fulfill our specific needs.
What Standard HTML Helpers renders?
For ASP.NET MVC Developers, understanding of standard HTML Helpers is highly desirable. Standard HTML Helpers can be categorized as follows:
URL Helpers
HTML Links
Image Links
HTML Form Elements
MVC URL Helpers
Rendering a link in HTML is a very common requirement. There are two different types of URL Helpers available in ASP.NET MVC i.e. for HTML Links and Image Links. Let’s discuss both of them one by one.
1. HTML Links
Html.ActionLink() Helper is used to render an HTML link in a View. ActionLink() method actually link to a Controller action from inside a View.
@Html.ActionLink(“Web Development Tutorial Company Profile”, “CompanyInfo”)
Above line of code is an example of Html.ActionLink() method that renders an HTML anchor tag and linking to a Controller action “CompanyInfo” in a View as follows:
<a href=”/Site/CompanyInfo”>Web Development Tutorial Company Profile</a>
2. Image Links
In order to generate an Image Link, Url.Action() helper is available.
<a href=”@Url.Action(“ViewDetails”)”><img src=”../Images/ViewDetails.jpg” alt=”View Details”></a>
Note: Although Image Link doing almost the same thing i.e. linking to a Controller action “ViewDetails” and rendering an HTML anchor tag with additional image. But we can’t use Html.ActionLink() helper for this purpose because Html.ActionLink() helper, by default, expect link text to encode, so we can’t pass an <img> tag to it.

Comments

Popular posts from this blog

Top 10 ASP.NET Web API Interview Questions

What is ASP.NET Web API? ASP.NET Web API is a framework that simplifies building HTTP services for broader range of clients (including browsers as well as mobile devices) on top of .NET Framework. Using ASP.NET Web API, we can create non-SOAP based services like plain XML or JSON strings, etc. with many other advantages including: Create resource-oriented services using the full features of HTTP Exposing services to a variety of clients easily like browsers or mobile devices, etc. What are the Advantages of Using ASP.NET Web API? Using ASP.NET Web API has a number of advantages, but core of the advantages are: It works the HTTP way using standard HTTP verbs like  GET ,  POST ,  PUT ,  DELETE , etc. for all CRUD operations Complete support for routing Response generated in JSON or XML format using  MediaTypeFormatter It has the ability to be hosted in IIS as well as self-host outside of IIS Supports Model binding and Validation Support for OD...

First, FirstOrDefault, Single, SingleOrDefault In C#

For people who are new to LINQ, it is difficult to understand the difference between First, FirstOrDefault, Single, SingleOrDefault. In this blog, I will explain what to use and when.     I will take a simple example to make you understand practically how these methods work.   Consider a class Employee with properties as Id, Name, and Department. class  Employee {    public   int  Id {  get ;  set ; }    public   string  Name {  get ;  set ; }    public   string  Department{  get ;  set ; } } I have a list of Employees: List<Employee> employeeList =  new  List<Employee>(){    new  Employee() { Id = 1, Name =  "Sunny" , Department =  "Technical"  },    new  Employee() { Id=2, Name= "Pinki" , Department = "HR" },    new  Employee() { Id=3, Name= "Tensy" , De...

Extension methods in C#

Consider the class C# 1 2 3 4 5 6 7 8 9 10 11 12 13          namespace ExtensionMethod      {          public class testClass {              public string sayHello ( ) {              return "Hello" ;            }        }      }     Invoke the above from your form using C# 1 2 3 4 5 6          testClass test = new testClass ( ) ;      MessageBox . Show ( test . sayHello ( ) ) ;     This will show “Hello” in message box. Consider the scenario where you don...