在js里有这么一个变量
var str="sdsfsdf";
然后window.open("a.aspx");在a.aspx的page_load里怎么得到刚才的str值??要求
1 不用window.open("a.aspx?str="+str);这样的方法
2 不用document.cookie=.......这样写cookie的方法
var str="sdsfsdf";
然后window.open("a.aspx");在a.aspx的page_load里怎么得到刚才的str值??要求
1 不用window.open("a.aspx?str="+str);这样的方法
2 不用document.cookie=.......这样写cookie的方法
客户端和服务器端传递信息的常用方式也就那么几种:cookie,url参数,form控件。
除此之外,想让服务器端自动知道客户端某个javascript变量的值,那岂不成了“遥感”技术?
var str="sdsfsdf";
window.showModalDialog("a.aspx",str,"dialogHeight:301px;dialogWidth:434px;edge:Sunken;center:Yes;help:No;resizable:No; status:No");在a.aspx页面里
<script language=javasriprt>
alert(window.dialogArguments[0]);
</script>
window.open("a.aspx");在a.aspx页面里,
<script language=javasriprt>
alert(alert(window.opener.document.formname.hide.value);
</script>
string hiddenValue = Request.Form1("hiddenID");
放到hidden控件在page_load中用request取得hidden控件的值。
string hiddenValue = Request.Form1("hiddenID");
行吗?
肯定的不行。
用opener.document.element.label 的方式呢?一样的不行
原因很简单,因为我这个button并没有执行服务器往返,如果执行往返了,父页面就刷新了,这不是我想要的!!!!!楼上的全部误解了我的意思
如果不想使用上面两种办法的话。
{
var objSrvHTTP;
var objXMLDocument;
objSrvHTTP = new ActiveXObject("Microsoft.XMLHTTP");
objXMLDocument = new ActiveXObject("MSXML.DOMDocument"); objXMLDocument.async= false;
objXMLDocument.loadXML("<msg><id>sdsfsdf</id></msg>"); objSrvHTTP.open ("POST","a.aspx",false);
objSrvHTTP.send (objXMLDocument); window.open("a.aspx");
}
XmlDocument input = new XmlDocument();
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面 if (this.Request.InputStream != null && this.Request.InputStream.Length != 0)
{
input.Load(this.Request.InputStream);
Application.Add("input",input.InnerXml);
}
this.TextBox1.Text = Application["input"].ToString();
1 不用window.open("a.aspx?str="+str);这样的方法
2 不用document.cookie=.......这样写cookie的方法
没有服务器往返的话哪有什么“Page_Load”?
赞成,你那BUTTON不加runat=server 行吗?
---------------
这样的话,你肯定要用到传递参数的方法.
var str="sdsfsdf";
window.open("a.aspx?url=" + str);
var str="sdsfsdf";
是一个脚本对象。存在于当前页a.aspx是另外的一个页,你要想在另外一个也用这个变量是不可能的,只能用它的值,但是这个值服务器不会知道除非你在请求a.aspx把它作为一个参数传过去。
还有,两个IE窗口可以使用变量相互记忆,通过这个记忆变量就可以相互访问,这也不是可以解决吗?
Window.ReturnValue = ‘数据值’;
1 不用window.open("a.aspx?str="+str);这样的方法
================估计是不想让用户看到传递的数据,项保密一下吧
2 不用document.cookie=.......这样写cookie的方法===================可能是对ciikie不太放心
看来对安全性倒是挺高的呵呵