0

我有一些看起来像这样的链接

@Html.ActionLink("Receiving", "Index", "Receiving")

使用 IE 并单击此链接时,它会在 url 中添加一个 # 这是在链接之后出现在 url 中的内容

http://localhost:47547/#/Receiving

视图加载正常。但问题是这个视图上的表单不起作用没有任何反应。

如果我手动输入 URL 并删除 # 一切都按预期工作,包括表单

这个#来自哪里,我该如何阻止它?

使用任何其他浏览器时它不会出现,并且该表单在这些浏览器上工作正常。

更新:我没有提到我在这个网站上使用 jQuery mobile,我没有想到这可能会导致一些问题。

谢谢!

4

1 回答 1

0

这就是 jQuery Mobile 处理 ajax 导航的方式。您可以在文档的Ajax、哈希和历史部分阅读它。

默认情况下,jQuery Mobile 中的所有导航都基于 location.hash 的更改和更新。只要有可能,页面更改将使用当前“页面”和下一个“页面”之间的平滑过渡,无论它已经存在于 DOM 中,还是通过 Ajax 自动加载。

由 jQuery Mobile 创建的哈希值被规范化为相对于加载的第一个“真实”页面的 URL 的完整路径。哈希始终作为有效 URL 维护,因此 jQuery Mobile 中的任何“页面”都可以在链接中添加书签或引用。要检索非基于哈希的 URL,只需从地址中删除 # 并刷新页面。

于 2012-10-11T12:23:35.820 回答