LinkExtensions.ActionLink Method (HtmlHelper, String, String, String)
Returns an anchor element (a element) that contains the virtual path of the specified action.
Assembly: System.Web.Mvc (in System.Web.Mvc.dll)
public static MvcHtmlString ActionLink( this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName )
Parameters
- htmlHelper
- Type: System.Web.Mvc.HtmlHelper
The HTML helper instance that this method extends.
- linkText
- Type: System.String
The inner text of the anchor element.
- actionName
- Type: System.String
The name of the action.
- controllerName
- Type: System.String
The name of the controller.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type HtmlHelper. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).| Exception | Condition |
|---|---|
| ArgumentException |
The linkText parameter is null or empty. |
The ActionLink method renders an element that links to an action method.
Watch out for no syntax checking
<h1>Click <% Html.ActionLink("Test", "Home", "About"); %></h1>
Will fail without error. It will render <h1>Click </h1> and leave you guessing.
<h1>Click <%: Html.ActionLink("Test", "Home", "About"); %></h1>
Will give you a "CS1026: ) expected"
<h1>Click <%: Html.ActionLink("Test", "Home", "About") %></h1>
Will work like a charm.
The difference is the colon added in the second attempt, and the semi-colon removed on the third.
- 8/9/2010
- LukePuplett
- 8/9/2010
- LukePuplett
Watch-out for calls dropping into the wrong overloads
It's easy to call the wrong overload on ActionLink because the ones accepting objects could easily take a string. Use named params to be super sure.
- 8/9/2010
- LukePuplett