Ich versuche herauszufinden, wie die URLs Routes
in der RouteTable
aufgelistet werden.Auflisten der URLs von ASP.NET MVC RouteTable-Routen
routes.MapRoute
("PadCreateNote", "create", new { controller = "Pad", action = "CreateNote" });
routes.MapRoute
("PadDeleteNote", "delete", new { controller = "Pad", action = "DeleteNote" });
routes.MapRoute
("PadUserIndex", "{username}", new { controller = "Pad", action = "Index" });
Mit anderen Worten, wenn meine Website mysite.com ist, mysite.com/create PadController.CreateNote()
ruft, und mysite.com/foobaris ruft PadController.Index()
:
In meinem Szenario habe ich die folgenden Routen definiert .
Ich habe auch eine Klasse, die stark Arten von Benutzername:
public class Username
{
public readonly string value;
public Username(string name)
{
if (String.IsNullOrWhiteSpace(name))
{
throw new ArgumentException
("Is null or contains only whitespace.", "name");
}
//... make sure 'name' isn't a route URL off root like 'create', 'delete'
this.value = name.Trim();
}
public override string ToString()
{
return this.value;
}
}
im Konstruktor für Username
, würde Ich mag, um sicherzustellen, zu überprüfen, ob name
nicht eine definierte Strecke ist. Zum Beispiel, wenn dies aufgerufen wird:
var username = new Username("create");
Dann sollte eine Ausnahme ausgelöst werden. Was muss ich ersetzen //... make sure 'name' isn't a route URL off root
mit?
Es wäre nicht unvernünftig, den DataTokens für eine bestimmte Route einen 'geschützten' Booleschen Wert hinzuzufügen. Nicht unbedingt suggerieren, aber es wäre nicht besonders schwierig zu verwalten. –