0

有没有办法只更新部分页面并同时更新查询字符串参数,而不用在 ASP.NET 中完全刷新整个页面?

我只需要更新页面的“主要”部分,而不是整个页面。我知道我可以进行部分页面回发(或使用 asp ajax)来进行部分页面更新,但是如何同时更新 URL 中的查询字符串参数呢?这甚至可能吗?

或者这是不可能的,我只需要Response.Redirect在部分页面回发后面的代码中使用新的查询参数重定向到同一页面,然后让整个页面刷新?

4

2 回答 2

1

使用推送状态。

这项新功能为您提供了一种通过 javascript 更改浏览器*中显示的 URL 而无需重新加载页面的方法。它还将创建一个后退按钮事件,您甚至还有一个可以与之交互的状态对象。

window.history.pushState(“object or string”, “Title”, “/new-url”);

在这里描述

于 2013-10-08T19:41:43.720 回答
0

您对地址栏的编程访问权限绝对为零。改变它的唯一方法是重定向。

但是,您可以像某些网站一样进行操作,并提供“将此页面的链接发送给您的朋友”区域。想到 Youtube - 看看它如何提供 URL,包括查询字符串参数,供您复制,如果您希望从某个特定点开始向某人发送视频链接。

还要检查您的问题下方方便的“分享”链接。您可以提供带有目标 URL 的类似链接,因此对于用户而言,只需右键单击并从上下文菜单中复制即可。一个结构良好的链接到您的网站比让用户直接从栏或从文本框中复制更用户友好。特别是对于移动浏览器,序列通常是按住,然后复制。另一方面,从地址栏复制可能涉及选择地址栏文本,这在某些 Android 设备中是一件令人头疼的事情。

于 2013-10-08T18:42:14.370 回答