ASP.NET中参数(用户输入值)的传递及保存问题 ???

来源:百度知道 编辑:UC知道 时间:2024/06/20 02:10:28
直接进入正题, 我有一个页面(index.aspx), 内含搜索输入框(SearchKey), 用户输入关键词(比如:Number 1)进行搜索, 跳转到搜索结果显示页(SearchResult.aspx).

结果页浏览器URL:/SearchResult.aspx?Keywords=Number 1

###########################
index.aspx中的跳转代码:
......

string StrKey = SearchKey.text;
if (StrKey != "")
{
Response.Redirect("/SearchResult.aspx?Keywords=" + StrKey);
}
.....

搜索页和结果显示页都是包含母版页的, 而搜索组件就在母版页上, 即两个页面中都包含搜索输入框(SearchKey)

我自然希望用户每次提交关键词后, 结果页搜索框中都保留此关键词, 并且当用户点击IE浏览器左上角的"返回"按钮, 也就是向左的那个箭头, 我的系统是英文的, 不知道那个按钮是不是叫"返回", 也可能是"回退", FireFox中叫"返回上一页".

其实保留用户输入项的功能是ASP.NET自带的功能, 无需额外设置, 但是问题在于:

比如我连续搜索了3个关键词:Number 1、Number 2、Number 3, 那么问题就有了,当我在Number 3的搜索结果页中,点击IE的“返回”按钮时,状态如下:

1、页面URL变成了:/SearchResult.aspx?Keywords=Number 2。
2、显示的搜索结果也变成了刚才Number 2的搜索结果。

问题:
3、**搜索输入框(SearchKey)中显示的却还是Number 3。
4、继续点击“返回”,1,2项都变成了Number 1,

不让他点后退行吗?
你的用的平台是.Net吗?
在.Net拉一个html的按钮和一个文本框
在源代码上面加上JavaScript
<script language="JavaScript" type="">
function abc(u){
window.location.replace("Default2.aspx?aaa="+u);
document.a.submit();
return;
}
</script>
用个表单把html的按钮把起来再加个单击事件调上面的JavaScript

<form action="Default2.aspx" id= "a">
<input id="Button2" type="button" value="button" onclick="abc(Text1.value)" />
<input id="Text1" type="text" />
</form>
这样从你那个页面去到了Default2的那个页面就不可以后退了
我是个新手.没有会办法.这些旁门左道你试下看看.

无论是IE还是FF,点击浏览器上的返回仅仅是客户端的操作,与服务器不会发生任何交互,不会引发任何事件,所以很不幸,你的问题解决不了。

新手哈 用viewstate传值行不行

用Javascript:
window.onload=function(){
var cUrl = window.location.href; //获取当前url