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