在事件(C#)上将查询字符串附加到URL

时间:2009-11-03 03:54:23

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

我的客户有一个网站,目前对特定事件(点击,加载等)发出请求。该网站运行良好,除了他在使用Google Analytics获取网站统计信息方面存在问题,原因是,因为该网站从不会重定向到不同的网页,所以它都在同一页面内,无论是什么事件被加载到网站(无论是视频,表等),所有内容都显示在同一个网址

www.somewebsite.com/default.aspx

我想要实现的是针对特定事件,将网址更改为

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

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

非常感谢。

3 个答案:

答案 0 :(得分:1)

此事件是否发生在服务器或客户端上?

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

如果它在客户端(Javascript)上,您可以设置location属性。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

实际上,你应该把一些元素移到不同的页面......这是基于你所说的:

  

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

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