Я пытаюсь выяснить, как перечислить URL-адреса Маршруты
в RouteTable
.
В моем сценарии у меня определены следующие маршруты:
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" });
Другими словами, если мой сайт - это mysite.com, mysite.com/create вызывает PadController.CreateNote ()
и mysite. com / foobaris вызывает PadController.Index ()
.
У меня также есть класс, который строго вводит имена пользователей:
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;
}
}
В конструкторе для Username
я хотел бы проверить, чтобы убедитесь, что имя
не является определенным маршрутом. Например, если это вызвано:
var username = new Username("create");
Тогда должно быть создано исключение. Что мне нужно заменить // ... убедитесь, что 'name' не является URL-адресом маршрута от корня
на?