Domanda

I am working in mvc5. I made a simple action link in a view using this syntax

@Html.ActionLink("Manage List", "Index", new { @class = "ManageLink" });

But css was not working untill i added controller name like this:

@Html.ActionLink("Manage List", "Index",new { controller = "ControllerName" }, new { @class = "ManageLink" });

I want to know why we need to define controller name here while it is quite obvious that every view is related to some action method of a controller ? I am very new to mvc so need to know these kind of things.

Thanks for the help.

È stato utile?

Soluzione

You could also have fixed this by simply specifying the name of the optional parameter you wanted to set:

@Html.ActionLink("Manage List", "Index", htmlAttributes: new { @class = "ManageLink" });

Otherwise, the Razor engine has to try to figure out which overload of the ActionLink method you're trying to call; sounds like in your case it thought the third argument was for the routeValues parameter.

This would also work:

@Html.ActionLink("Manage List", "Index", "ControllerNameHere", new { @class = "ManageLink" });
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top