Как я могу сделать это с маршрутизацией asp.net MVC? - PullRequest
0 голосов
/ 01 марта 2010

Есть ли способ создать такой маршрут "http://mysite/Username"?

Ответы [ 2 ]

6 голосов
/ 01 марта 2010

Да. Создайте маршрут, соответствующий пользователю, используя ограничение маршрутизации:

routes.MapRoute(
            "User",                                 // Route name
            "{user}",                           // URL with parameters
            new { controller = "User", action = "Index", user = "" },  // Parameter defaults
            new { isUser = new MustBeUserConstraint() }
        );

public class MustBeUserConstraint : IRouteConstraint
{
    public bool Match
        (
            HttpContextBase httpContext, 
            Route route, 
            string parameterName, 
            RouteValueDictionary values, 
            RouteDirection routeDirection
        )
    {
        ...ensure that there is a user route value and validate that it is a user...
    }

}
0 голосов
/ 01 марта 2010
routes.MapRoute(
    "RouteName",
    "{username}",
    new { controller = "SomeController", action = "SomeAction", username = "" }
);

public class SomeController : Controller
{
    public ActionResult SomeAction(string username)
    { ... }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...