Sie können nicht mehrere Aktionen mit demselben Namen ausführen. Sie könnten einer Methode einen Parameter hinzufügen, und das wäre gültig. Zum Beispiel:
public ActionResult Index(int i)
{
Some Code--Some Code---Some Code
return View();
}
Es gibt einige Möglichkeiten, Aktionen auszuführen, die sich nur durch das Anforderungsverb unterscheiden. Mein Favorit und meiner Meinung nach am einfachsten zu implementieren ist die Verwendung des AttributeRouting- Pakets. Nach der Installation fügen Sie Ihrer Methode einfach ein Attribut wie folgt hinzu:
[GET("Resources")]
public ActionResult Index()
{
return View();
}
[POST("Resources")]
public ActionResult Create()
{
return RedirectToAction("Index");
}
Im obigen Beispiel haben die Methoden unterschiedliche Namen, aber der Aktionsname lautet in beiden Fällen "Ressourcen". Der einzige Unterschied ist das Anforderungsverb.
Das Paket kann mit NuGet wie folgt installiert werden:
PM> Install-Package AttributeRouting
Wenn Sie die Abhängigkeit von den AttributeRouting-Paketen nicht möchten, können Sie dies tun, indem Sie ein benutzerdefiniertes Aktionsauswahlattribut schreiben.