- If you are already on a page within a controller you can use the shortest one which is only the caption and the action.
eg. @Html.ActionLink("Click Here", "MyActionName") - If you are referencing another controller or you want to include attributes on the link such as the css class
eg.
@Html.ActionLink("Click Here", "Index", "Home", null)
@Html.ActionLink("Click Here", "Index", "Home", new { @class = "myHrefClass" }) - If you need to pass parameters to your action then you need to use the full version.
IMPORTANT: If you are NOT Specifying a class, you still need to pass NULL or it will assume that the parameters you are passing are actually the attributes like in the version in the section way above.
eg.
@Html.ActionLink("Click Here", "Index","Home", new { paramName = value, param2Name = value}, null)
@Html.ActionLink("Click Here", "Index","Home", new { paramName = value, param2Name = value}, new { @class = "myHrefClass" })
I hope this clears up how ActionLink calls work. If you have any questions feel free to email me at chris.williams@readwatchcreate.com