两个页面间的传值 ,第一个页面--传值页面: 
  
C# codeResponse.Write("<script>window.dialogArguments[0].document.getElementById(window.dialogArguments[1]).value ='" + chooseUserNames + "'; </script>");第二个页面--接受传值页面: 
JScript code
 <script type="text/javascript" language="javascript">        
      function OpenNewForm2(fileUrlReader) //打开选择用户角色对话框并接受传值
        {         
          var url = fileUrlReader ;
          var myReturnValue=0;
          myReturnValue=window.showModalDialog(url,[window,document.getElementById("lbreader").id],"scroll:yes; dialogWidth:900px; dialogHeight:450px;status:0;help:0;");
        }
    </script>    
源码中有lable 
<asp:Label ID="lbreader" runat="server" MaxLength="5000"> </asp:Label> 我希望lable显示的是第一个页面传过来的值,可是这样做并不行,如果把label换成textbox就可以传了,
 I don't know why  ...

解决方案 »

  1.   

    你的label是服务器端控件,用document.getElementById("lbreader")这种方式取不到的改成html控件,或者是document.getElementById("<%=lbreader.ClientID %>")
      

  2.   

    告诉你只有textbox和hiddenfile才可以存储js修改的值,vs2003就只有textbox可以(让他不可以见就行),虽然不知道为什么,但这个信息很有用,我也花了很多时间才知道。
      

  3.   

    document.getElementById(" <%=lbreader.ClientID %>").InnerHtml
      

  4.   

    用js给lable赋值
    document.getElementById("labelid").InnerHtml = "hello world";