MVC 路由移除参数

MVC Routing Removes Parameters

我当前的路由配置如下:

routes.MapRoute(
   namespaces: new string[] { "ChiDesk.WebUI.Controllers" },
   name: "Default",
   url: "{controller}/{action}/{id}",
   defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

我 运行 遇到的问题是,如果我 link 到以下地址:http://localhost:20220/Public/Book?id=c231e3aa-a317-4321-88ef-fe989356babc

路由出现去掉id参数部分。所以浏览器中的地址设置为: http://localhost:20220/Public/Book

如果您刷新页面,这显然会导致问题,因为 id 参数未包含在任何地方。

我需要更改什么路线才能解决这个问题?

谢谢, 加里

我的错误。

在我的文档准备功能中,我使用 replaceState 设置了历史记录。但是我使用的 window.location.pathname 属性 不包含参数。

将其更改为 window.location 解决了这个问题。