日期:2014-05-18  浏览次数:20476 次

关于url参数只使用一次的困惑
我在url中传了一个参数,很简单的那种,此处不讨论汉字和加密等方面,假设只传了一个数字.如果   ....default.aspx?linenum=5

我做的是一个查询的简单页面,只有一个数字的参数.为了让其他的网页或者网站都可以直接利用这个页面来查询,我使用这种url的方式传递查询参数.

页面上有一个文本框,一个按钮,和一个表格,我在页面加载时,判断url中的Request.QueryString[ "linenum "]有没有值,如果有我就帮它填到文本框中,然后在调用按钮的click事件.这样就实现了传递参数并且直接查询出来的效果.

但是,由于Request不允许清空,所以它总是有值,如果用户修改了文本框中的值后再次查询,但是页面加载时又判断了Request.QueryString[ "linenum "],所以再次执行了最一开始的代码,这样就总是查url参数的值了.

我尝试用session记住是不是执行过url的判断了,这样如果执行过以后就不执行了,但是又有了新的问题,因为session是记忆的,这样第一次点带参数url是正常的,但是第二次就不正常了,因为第一次已经把session的值改变了...

真是晕...想问问大家有没有什么好办法...

这个带参数的url大部分都是从别的网站来的,来的时候如果带查询参数,我就帮他查出来,但是还要允许人家自己再改查询条件,应该是很简单的应用,却把我难住了,哈哈,不好意思



------解决方案--------------------
把他放在if(!ispostback)