Asp.Net MVC - Überlast-Aktion-Methode
Erstellte ich eine asp.net mvc-web-site
Mein problem ist, wie Sie umgesetzt überlastung action-Methode
Controller
public ActionResult Index(int id)
{
//code
return View(model);
}
public ActionResult Index()
{
//code
return View(model);
}
Ansicht
<div id="menucontainer">
<ul id="menu">
<li><%= Html.ActionLink("Home", "Index", "Home")%></li>
<%if (Page.User.Identity.IsAuthenticated)
{%>
<li><%= Html.ActionLink("Profilo", "Index", "Account")%></li>
<%} %>
<li><%= Html.ActionLink("About", "About", "Home")%></li>
</ul>
</div>
Usercontrol (ascx) eingefügt in den Blick. Dieses usercontrol-Listen, die Freunde des Profils (view)
<td>
<%= Html.ActionLink(Html.Encode(item.Nominativo), "Index", "Account", new { id = item.IdAccount }, null)%>
</td>
Global asax
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
wenn ich auf die action Index im Blick, wieder den Fehler "nicht finden Können die Ressource... ecc.."
Ich fand einige Antwort für dieses problem (mit dem Attribut ecc..), aber nicht funktioniert.
Gibt es eine Möglichkeit, das zu tun? Ich muss hinzufügen, eine maproute in einem global asax?
vielen Dank für Eure Antworten
- mögliche Duplikate von Kann man überlast-controller-Methoden in ASP.Net MVC?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie dekorieren beide überladungen mit einem ActionMethodSelector Attribut für die disambiguierung. ASP.NET MVC nicht wissen, wie man wählen Sie die entsprechende überlast.
Ist ein workaround, behandeln beide Aktionen in der gleichen Methode: