【发布时间】:2015-07-21 15:03:56
【问题描述】:
我有一个没有任何特殊路由的 ASP.NET MVC 项目(使用默认路由)。我在我的项目中使用history.pushState 如下:(假设我们在products 页面中)
history.pushState(null, null, '#/param1/param2');
URL 更改为:www.domain.com/param1/param2,但我预期的是:www.domain.com/products#/param1/param2。
请注意,如果我使用(例如)- 字符状态为 /,它会按预期工作。
没有JavaScript 或C# 错误。
为什么没有按预期工作?
【问题讨论】:
-
您的代码在我的最后工作正常,在我的情况下它重定向到
http://localhost:52485/home/#/param1/param2。 -
顺便说一句,这与 ASP.NET MVC 无关。
history.pushState严格位于 客户端 上正在执行的 JavaScript 和浏览器之间。 -
是的,我知道代码在服务器端没有任何作用,只会对客户端产生影响,但我想知道,当我在简单的
html页面上使用该代码时,一切都是很好,但是在MVC页面上,我提到了问题! (当然如果我使用-,我没有遇到这个问题)
标签: javascript c# asp.net-mvc pushstate