Ich suche für einige Beispiele oder Proben von Routing für die folgende Art von Szenario:Kategorien von Controllern in MVC Routing? (Doppelte Controller-Namen in separater Namespaces)
Das allgemeine Beispiel, Dinge zu tun ist: {Controller}/{Aktion}/{id }
So im Szenario für ein Geschäft, ein Produkt der Suche nach tun würden Sie haben:
public class ProductsController: Controller
{
public ActionResult Search(string id) // id being the search string
{ ... }
}
Sagen Sie ein paar Geschäfte haben, dies zu tun, und Sie, dass konsequent wollten, ist es eine Möglichkeit, dann have: {Kategorie}/{Controller}/{Aktion}/{ID}
Sie können also gezielt nach einem bestimmten Geschäft suchen, aber eine andere Suchmethode für ein anderes Geschäft verwenden?
(Wenn Sie die Speichernamen erforderlich, um eine höhere Priorität als die Funktion selbst in der URL zu sein)
Oder wäre es herunter zu kommen:
public class ProductsController: Controller
{
public ActionResult Search(int category, string id) // id being the search string
{
if(category == 1) return Category1Search();
if(category == 2) return Category2Search();
...
}
}
Es ist nicht ein gutes Beispiel sein kann, aber im Grunde ist die Idee, den gleichen Controller-Namen zu verwenden und daher eine einfache URL über ein paar verschiedene Szenarien, oder bist du irgendwie mit dem Erfordern von eindeutigen Controller-Namen, und keine Möglichkeit, sie in etwas andere Namespaces/Verzeichnisse zu stecken stecken?
bearbeiten hinzuzufügen:
Der andere Grund, warum ich das will, ist, weil ich eine URL, die die Kategorien haben wollen könnte, und dass bestimmte Controller nur unter bestimmten Kategorien arbeiten.
IE:
/diese/Suche/Produkte/Suche + Begriff < - arbeitet
/das/Suche/Artikel/search + Begriff < - wird nicht funktionieren - weil die Suchsteuerung ist nicht erlaubt.
Bezieht sich das Konzept der "Bereiche" in der Version 1.0 darauf? – hometoast