0
有没有办法像这样创建一条路线“http://mysite/Username”?我怎样才能做到这一点与asp.net mvc路由?
有没有办法像这样创建一条路线“http://mysite/Username”?我怎样才能做到这一点与asp.net mvc路由?
是的。使用路由约束创建一条匹配用户的路由:
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...
}
}
routes.MapRoute(
"RouteName",
"{username}",
new { controller = "SomeController", action = "SomeAction", username = "" }
);
public class SomeController : Controller
{
public ActionResult SomeAction(string username)
{ ... }
}
此用户名来自哪里?表单认证? – 2010-03-01 12:41:18
用户存储在数据库中有一些相关信息。 – 2010-03-01 12:44:56