URL路由时出现404错误

时间:2015-07-06 11:34:19

标签: c# asp.net

我在我的项目中使用url路由来处理webform。它的工作正常,但我有一个问题。我的项目结构如下所示。

enter image description here

我在Index.aspx页面中有一个登录页面。输入用户名和密码后,它将重定向到Home.aspx。这是我的路由类

public static void RegisterRoutes(RouteCollection routes)
        {
            routes.MapPageRoute(
                "User",
                "Users/{id}",
                "~/Modules/UserMgmt/Users.aspx");
            routes.MapPageRoute(
                "Leave",
                "LeaveApply/{id}",
                "~/Modules/LeaveMgmt/LeaveApply.aspx");
            routes.MapPageRoute(
            "Index","Index","~/Index.aspx");
        }

我的锚标签如下所示

<a href="../../Users/18">Users</a>

当我第一次登录时,它将正确进入Home.aspx,如下所示。

enter image description here

如果我使用此锚标记再次重定向页面,它将显示404错误并且无法获取父路径,页面如下所示

enter image description here

如果我重写锚标签,如下所示

 <a href="../Users/18">Users</a>

它会起作用但会在第一时间起作用。我是如何解决这个问题的。请你帮助我好吗。

1 个答案:

答案 0 :(得分:0)

锚标记可以使用相对于网站根目录的路径:

<a href="/URLRouting/Users/18">Users</a>

无论当前页面的路径是什么,都会指向http://localhost/URLRouting/Users/18