I am using a new MVC 4 Internet application template with Visual Studio 2012. I have installed the Nuget package for MVC 4 Futures. In my _Layout.cshtml
I am building the navigation menu.
This works and builds the correct URL:
@Html.ActionLink("Customers", "Index", "Customers")
This is what I would like to work, a strongly-typed variation:
@Html.ActionLink<CustomersController>(c => c.Index(), "Customers", null)
It griefs on "Cannot choose method from method group. Did you mean to invoke a method?", but something tells me that's not the real issue.
This compiles and outputs the right HTML, but not inline:
@{
var t = Html.ActionLink<CustomersController>(c => c.Index(), "Customers");
Response.Write(t);
}
How do you build strongly-typed Action/ActionLink's in MVC 4 using Razor's syntax (with or without Futures)?
ActionLink is rendered as an HTML Anchor Tag (HyperLink) and hence it produces a GET request to the Controller's Action method which cannot be used to submit (post) Form in ASP.Net MVC 5 Razor. Hence in order to submit (post) Form using @Html. ActionLink, a jQuery Click event handler is assigned and when the @Html.
ActionLink(HtmlHelper, String, String, Object, Object)Returns an anchor element (a element) for the specified link text, action, route values, and HTML attributes. C# Copy.
ActionLink creates a hyperlink on a view page and the user clicks it to navigate to a new URL. It does not link to a view directly, rather it links to a controller's action. Here are some samples of Html.
@(Html.ActionLink<CustomersController>(x => x.Index(), "Customers"))
The Basics – (Strongly-Typed) Linking to MVC Actions
This question covers it loosely.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With