Domanda

Ho bisogno di un controller separato per il seguito?

http: // localhost / bookmarks - > controller dei segnalibri http: // localhost / bookmark / {bookmarkid} - > controller dei segnalibri

Esiste un modo per combinarli entrambi in un controller? Voglio mantenere lo stesso uri cioè un segnalibro singolare che indica prendere un singolo segnalibro.

Grazie

È stato utile?

Soluzione

Supponendo un ambiente di sviluppo C #

Global.asax:

routes.MapRoute(
  "Bookmarks",
  "bookmarks",
  new { controller = "Bookmarks", action = "Bookmarks"}
);

routes.MapRoute(
  "Bookmark",
  "bookmark/{bookmarkid}",
  new { controller = "Bookmarks", action = "Bookmark" }
);

BookmarksController:

public ActionResult Bookmarks()
{
   //Get all bookmarks, I presume. :)
   return View();
}

public ActionResult Bookmark(string bookmarkid)
{
   //Do stuff with the bookmark id
   return View();
}

Usando questo schema di routing, http: // localhost / bookmarks colpirà l'azione Segnalibri nel controller Segnalibri e http: // localhost / bookmark / 123456 eseguirà l'azione Segnalibro nel controller Segnalibri.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top