我现在有两个页面,web1.aspx和web2.aspx,web1中的javascript调用一个window.open("web2.aspx"),然后要在web2中得到web1中的某个文本框的值,该怎么做啊?
不想用web2.aspx?id=***来做,希望在web2页面中,看到的http地址就是http://***/web2.aspx,不希望在后面看到参数,也不希望用session做。试了一下,不知道可不可以用Request.Form做,请高手指教

解决方案 »

  1.   

    Server.Transfer("xxx.aspx")就可以了如果想再高超点,就要用URLREWRITE了
      

  2.   

    window.opener.document.getElementById('txt1').value
      

  3.   


    <script language=javascript>
    window.opener.document.all.TextBox1.value; //你的值
    </script>
      

  4.   

    Server.Transfer("xxx.aspx")是应该写在服务器端的吧
      

  5.   

    但是上面JS取消的值不能在CS中直接运用,要找一中介控件Post一次才能用
      

  6.   

    window.opener.document.all.TextBox1.value在我这边是要用在框架里的,指明是那个页面,
    可以这样写吗?
    <frame name="MainFrm" src="javascript:window.opener.document.getElementById('textbox').value" noResize>
      

  7.   

    <script language=javascript>
    window.opener.框架名.document.all.TextBox1.value; //你的值
    </script>
      

  8.   

    window.opener.document.all("txtusercode").value;
      

  9.   

    webwait(webwei) 你理解错我的意思了,我是说web2是框架的,在web2的html中,我从web1得到了需要的地址window.opener.document.getElementById('textbox').value,然后怎么把这个地址赋给web2的框架呢?<frame name="MainFrm" src=''>
      

  10.   

    传值有2种
    一种是post一种是set.
      

  11.   

    function ec()
    {
    var trNews = event.srcElement.parentNode;
    var trHistory = event.srcElement.parentNode.nextSibling;
    var ifHistotry;
    //alert(trHistory.tagName);

    if(trHistory.style.display == "none")
    {
    trHistory.style.display = "block";
    trHistory.style.height = 250;
    trNews.style.backgroundColor = "#EEEEEE";
    ifHistotry = trHistory.cells[1].children[0];
    //alert(trNews.cells[0].innerText);


    ifHistotry.src = "NewsReviewHistory.aspx?ColumnID=" + trNews.cells[1].innerText +"&InnertID="+trNews.cells[2].innerText;
    //alert( trNews.cells[0].innerText);
    }
    else
    {
    trHistory.style.display = "none";
    trNews.style.backgroundColor = "";
    }
    }
      

  12.   

    <frame name="MainFrm" src="javascript:window.opener.document.getElementById('textbox').value" noResize>
      

  13.   

    dicman
    我用这个方法,页面中MainFrm显示不了,看源文件,它的页面就是javascript:window.opener.document.getElementById('textbox').value
      

  14.   

    <frame name="MainFrm" src="javascript:window.opener.document.getElementById('textbox').value" noResize>
    为什么会不起作用呢
      

  15.   

    To nayc:怎么实现啊?麻烦告知!
      

  16.   

    Q:不希望在后面看到参数,也不希望用session做A:那用Application做不就好了吗
      

  17.   

    Application不知道该怎么用啊。
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <TITLE>UserForm</TITLE>
    <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
    <meta content="C#" name="CODE_LANGUAGE">
    <meta content="JavaScript" name="vs_defaultClientScript">
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    </HEAD>
    <frameset border="0" frameSpacing="0" rows="76,*" frameBorder="0" cols="*">
    <frame name="topFrame" src="tt.aspx" noResize scrolling="no">
    <frameset id="frame2" border="0" frameSpacing="0" rows="*" frameBorder="NO" cols="200,*" runat="server">
    <frame name="ll" src="ll.aspx" scrolling="no">
    <frame name="mf" id="ff" src="">
    </frameset>
    </frameset>通过window.opener.document.getElementById('textbox').value已经能够获得我要的值,但是怎么把这个值加到<frame name="mf" id="ff" src="">的src中呢
      

  18.   

    你已在JS中得到了getelementById().value 了,你在js中返回这个值就可以了
    比如返回的 valueTxt
    在你要显示的地方用脚本写啊
    <script>
    function returnTxt()
    {
    .....
    return valuetxt}</script>
    在你要绑定的地方写比如 src里这么写:src="<script>returnTxt()</script>"
      

  19.   

    用post方法:
    <form method = post action ="">
      

  20.   

    To Jimmy817:
    用frame做,根本就没有form,怎么用啊?麻烦告知一下!
      

  21.   

    src="<script>returnTxt()</script>"
    也是实现不了啊,奇怪了