【问题标题】:append query string to URL on event (C#)将查询字符串附加到事件的 URL (C#)
【发布时间】:2010-12-12 12:24:07
【问题描述】:

我的客户有一个网站,该网站当前针对特定事件(点击、加载等)发出请求。该网站运行良好,但他在使用 Google Analytics 获取网站统计数据时遇到了问题,原因是,因为该网站从不重定向到不同的页面,它都在同一个页面内,无论如何事件在网站中加载(无论是视频、表格等),所有内容都显示在同一个 url 下

www.somewebsite.com/default.aspx

我想要实现的是在特定事件上,将 url 更改为

www.somewebsite.com/default.aspx?type=abc&id=999

我该怎么做,。最简单的方法是什么?请指教。整个网站都是用 C# 构建的。

非常感谢。

【问题讨论】:

  • 您可能希望在 url 之后使用锚点(哈希):default.aspx#type=bc&id=999。

标签: c# asp.net url query-string


【解决方案1】:

其实你可能应该把一些元素移到不同的页面上……这是根据你说的:

因为基本上我所做的就是 隐藏和显示元素 事件,如果我做一个 response.redirect, 它将重新加载主页。

如果我理解正确,用户永远不会被重定向到不同的页面,您只是在基于查询字符串的 default.aspx 中隐藏/取消隐藏元素...对吗?最简单的解决方案是将内容拆分为不同的 aspx 页面。

【讨论】:

    【解决方案2】:

    如果您想保留页面的状态,请尝试将您的查询字符串参数添加到 Javascript 中表单的 action 参数。

    或者,正如 jeffamaphone 建议的那样,您可以通过设置 location.hash 来更改哈希(# 符号之后的部分),而无需发回服务器。

    【讨论】:

      【解决方案3】:

      这个事件发生在服务器还是客户端?

      如果它在服务器上,您可以调用Response.Redirect 并将您的新查询字符串参数添加到当前url。

      如果是在客户端(Javascript),你可以设置location属性。

      【讨论】:

      • 是的,我也尝试过,但是当我执行 response.redirect 时,它会再次加载主页,因为基本上我所做的只是根据事件隐藏和显示元素,如果我执行 response.redirect ,它将重新加载主页。 :(
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-20
      • 1970-01-01
      相关资源
      最近更新 更多