使用路由asp.net的问题

时间:2014-09-10 12:28:00

标签: asp.net routing

  

大家好,我是ASP.net的初学者,我尝试使用路由来介绍   通过遵循global.asax中的代码来解决一些问题:

 protected void RoutingHandler(string routeName, string repUrl, string Url)
        {
            RouteTable.Routes.MapPageRoute(routeName,repUrl,Url);
        }
   protected void Application_Start(object sender, EventArgs e)
        {         
            RoutingHandler("SolutionsRoute", "Solutions/{name}", "~/Pages/Solutions.aspx");
            RoutingHandler("SolutionsPageRoute", "Solutions", "~/Pages/Solutions.aspx");
        }
  

它运作良好,我用来链接页面   在我的菜单中,但当我在网址中,如果再次点击另一个链接   网址如此/ 解决方案 / 解决方案 / VDI   我该如何解决这个问题

2 个答案:

答案 0 :(得分:0)

您的问题可能是由于同一页面有两个路由声明。虽然这是有效的,但它不是推荐的方法。您应该改变减速度,而不是像这样指定一个默认的空值

protected void RoutingHandlerWDefault(string routeName, string repUrl, 
         string Url, bool chkURL, string varOne)
    {
        RouteTable.Routes.MapPageRoute(routeName,repUrl,Url, chkURL, 
                chkUrl, new RouteValueDictionary { { varOne, string.Empty } });
    }
protected void Application_Start(object sender, EventArgs e)
    {         
        RoutingHandlerWDefault("SolutionsRoute", "Solutions/{name}", "~/Pages/Solutions.aspx", 
                false, "name");
    }

SO参考:asp.net webforms routing: optional parameters

另请注意,您可能希望更改链接到网址的方式。您可以在这些链接中找到有关如何链接到路由网址的参考资料。

http://msdn.microsoft.com/en-us/library/cc668176.aspx

http://www.4guysfromrolla.com/articles/012710-1.aspx

答案 1 :(得分:0)

我的问题出在href的链接,就像这个解决方案/安全性我在这个/ solutions / security

这样的网址后面放了一个转发斜杠