如何使用带参数的URL路由URL

时间:2016-05-25 13:00:19

标签: asp.net url-routing

我有一个带有urlmappings的

<add url="Home" mappedUrl="~/x.aspx" />

我想要的是什么时候调用〜/ x.aspx?type = y然后url仍然显示Home 有没有办法做到这一点

<add url="Home" mappedUrl="~/x.aspx" />
 <add url="Home" mappedUrl="~/x.aspx?type=y" />

2 个答案:

答案 0 :(得分:0)

如果您使用的是Web窗体,则可以使用以下教程。基本上,“类型”可以是可选复选框列表,带有参数的完整URL可以在代码隐藏中构建。

Walkthrough: Using ASP.NET Routing in a Web Forms Application

对于MVC,请参阅以下问题:

Routing with Multiple Parameters using ASP.NET MVC

答案 1 :(得分:0)

我没有使用web.config中的映射,但显然是is not possibly to use wildcards/regex

但是你可以通过在Global.asax中覆盖Application_Start方法

来做到这一点
   protected void Application_Start(object sender, EventArgs e)
    {
        RouteConfig.RegisterRoutes(RouteTable.Routes);
    }

RouteConfig.cs

public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            // routing segment variable: {}
            routes.MapPageRoute(null, "home", "~/Pages/x.aspx");
            routes.MapPageRoute(null, "home/{type}", "~/Pages/x.aspx");