什么技术允许更改页面内容而不更改URL?

时间:2012-08-19 18:41:57

标签: c# asp.net

我在一些调查网站上看到了这一点。他们在客户端使用哪些C#代码来保持URL相同,但是当单击“下一步”按钮时,会保留相同的 aspx 页面

  1. 没有有任何查询字符串;
  2. 即使是网址中的字符也没有任何变化;和
  3. 网格,数据,内容,问题在不断变化?
  4. 任何人都可以给出一个代码示例如何实现这个目标吗?

    我的主要问题是如何在代码隐藏中完成更改页面数据并维护相同的URL。

4 个答案:

答案 0 :(得分:3)

没有什么比在服务器端维护的会话更简单了。在会话中存储“当前问题编号”,在每次成功回发时增加它,并且您有所要求的内容。

另一种可能性 - 包含“当前问题编号”的cookie。

当然,cookie和会话在查询字符串中都是不可见的。

答案 1 :(得分:1)

“更改页面数据并维护相同的网址。”答案是Server.Transfer。 此方法将保留网址。

答案 2 :(得分:1)

下一步按钮可以使用HTTP POST方法提交表单。表单数据可以包含会话,问题和响应数据。该网站使用它来构建新的响应。与GET不同,POST不会将数据合并到URL中。

答案 3 :(得分:0)

开发人员通常会使用AJAX完成此任务。其背后的基本前提是仅页面的某个部分(例如网格或内容区域)将进行服务器调用并检索结果(使用Javascript)。实现的效果是没有完整的回发,这就是为什么你没有看到URL或参数发生变化的原因。

可以使用jQuery,纯Javascript或Microsoft的UpdatePanel来完成此操作。

oleksii的评论也有一些很好的联系:

  

那是AJAX魔法。有很多JQuery插件,用于   示例this onelive demo。您也可以轻松编程   使用JQuery GetPost或任何其他使用XmlHttpRequest的包装器   对象