0 out of 1 rated this helpful - Rate this topic

LinkExtensions.ActionLink Method (HtmlHelper, String, String, String)

Returns an anchor element (a element) that contains the virtual path of the specified action.

Namespace:  System.Web.Mvc.Html
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.

Return Value

Type: System.Web.Mvc.MvcHtmlString
An anchor element (a element).

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.

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
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.

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.