我想为我的网站提供以下特定的 URL 路由
http://www.MyWebsite?Region=US&Area=South
基于传递的 Region 和 Area 查询字符串参数,我想重定向到特定的控制器操作。
问题:
- Url 路由应该是什么?
- 创建一个重定向到特定操作的通用控制器操作是否可以在这里工作?
任何帮助将不胜感激!
谢谢
我想为我的网站提供以下特定的 URL 路由
http://www.MyWebsite?Region=US&Area=South
基于传递的 Region 和 Area 查询字符串参数,我想重定向到特定的控制器操作。
问题:
任何帮助将不胜感激!
谢谢
如果您想直接从根处执行查询字符串,那么您需要以这种方式在全局中映射路由。在您的操作中,您可以访问上下文并从中获取查询字符串。下面是我做 twitter 风格用户名的例子,但想法是一样的。
routes.MapRoute("UserSettings",
"{username}/settings",
new { controller = "Home", action = "Settings", username = "" },
new { username = new NotNullOrEmptyConstraint() }
);
公共类 NotNullOrEmptyConstraint : IRouteConstraint {
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
try
{
return !String.IsNullOrEmpty(values["username"].ToString());
}
catch (Exception)
{
return false;
}
}
}
public ActionResult Settings(string username){
}