类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
使用语言:VB.net
页面很简单,就是一个文本框keyword和一个图片按钮doit,功能是,点击doit这个图片弹出新窗口显示查找的结果。
我原来做法是在按钮的doit_click过程中使用response.write("<script>window.open(search.aspx?keywork="&keyword.text&",_blank)</script>")
功能是实现了,可就是会被广告拦截程序拦掉。
后来又使用onclick="window.open(search.aspx)"的方式来打开,用session("keyword")来传递参数。但碰到个问题:我在doit_click里给session("keyword")赋值,可oncick比doit_click先执行,即先打开新页面,再给session赋值,这就使查找的关键字是前一次输入的keyword。又不能解决问题。
本是一个挺简单的问题,为什么我就解决不了呢?开始怀疑自己的能力了。
另:response.redirect不能打开新窗口,希望大要有这种答案。谢谢!
网友回答:
在onclick的里面获取文本框的值,然后作为url参数传到search.aspx
var keyword = document.getElementById(Keyword);
window.open(search.aspx?Keyword= + encodeURI(var.value));
不简单。
To:yzx110(原振侠) ,你的方法仍然是open,上网助手不关掉,你的窗口是打不开的。
当然如果楼主退而求其次,yzx110(原振侠) 的方法完全正确。
response.write("<script>window.open(search.aspx?keywork="&encodeURL&")</script>")
其实“给SESSION赋值”和“跳转窗口”可以在同一个事件中实现:
服务器代码
Response.Redirect():等价于单击一个链接
Server.Transfer():转移到其他窗体,并维持viewState
Server.Execute():执行一个新的aspx,并将两个窗体的内容合一起显示
哦,明白 了
你用这个试试
Response.Write("<script language=JavaScript> location.replace(your.aspx,,status); </script>");