Ich habe meine Home-Controller eingerichtet, so dass in Abhängigkeit von den Parametern, die es empfängt, verschiedene Funktionen gehen.
Problem ist in meinem Heim-Controller, es behandelt "Gametwo" als Abfrage für meine Route auf meinem Heim-Controller.Der Umgang mit mehreren benutzerdefinierten Routen in MVC
Beispiel
mysite.com/serchsomething < - Dies sucht die angegebene Zeichenfolge
mysite.com/gametwo < - Dieses auch sucht statt Controller
gametwo gehen Ich habe normale routeconfig.cs Datei, mit nur hinzugefügten attributeroutes.
Wie können Routen mit mehreren Parametern am besten behandelt werden? Damit sie nicht ambivalent sind oder mit anderen Routen abstürzen? Dank
Heimsteuerung
public ActionResult Index()
{
...
}
[HttpGet]
[Route("{Query}")]
public ActionResult Index(string Query)
{
...
}
[HttpGet]
[Route("{Query}/{Version}")]
public ActionResult Index(string Query, int Version)
{
...
}
GameTwo Controller
[Route("GameTwo")]
public ActionResult Index()
{
return View();
}
routeconfig
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new {
controller = "Home",
action = "Index",
id = UrlParameter.Optional }
);
}
Sie haben Ihre Routen etwas zu geben, sie einzigartig zu definieren und zu machen, z.B. '[Route (" Suche/{Abfrage} "]] –