高手们:
       我的网页  Defualt.aspx 和 Defualt.cs文件
      Defualt.aspx 页面上有一个脚本函数        <script  language="javascript">
  function GetAndWriteData()
 {
  var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
  xmlDoc.async = false;
  xmlDoc.load("../P0020/ChoiceManage.aspx");
  var xmlStr=xmlDoc.xml;
}
         </script>这个函数是接收别的页传值的
   我现在 想调用 传过来的 xmlStr 这个变量到 Defualt.cs页面上
    请问如何实现。

解决方案 »

  1.   

    把xmlStr赋给一个hidden input,设置为runat=server,在cs中读那个input的值.
      

  2.   

    JS不熟在cs文件里,用Request["参数名"]来获取传过来的参数。
    Request["参数名"]得到的类型是object的
      

  3.   

    在页面上添加一个 <input id="Hidden1" type="hidden" runat="server" />
    把xmlStr赋值到里面:
    document.getElementById("Hidden1").value = xmlStr;然后在default.aspx.cs里取该控件的值
      

  4.   

    Eddie005(♂) №.零零伍 (♂) 
        把值赋到 Hidden1的哪里了?
        我在CS里取啥啊?
      

  5.   

    把xmlStr赋给一个hidden input,设置为runat=server,在cs中读那个input的值.在后台直接就有了这个 input了 实在找不到可以用FindControl("input的id");来找到这个
      

  6.   

    document.getElementById("Hidden1").value = xmlStr;
    是写在我的javascript里不?
    我写了后就出错
      

  7.   

    要去执行cs文件下的代码,可能不刷新吗???要不用ajax去实现
      

  8.   

    页面不刷新就用Ajax吧,比如用atlas的UpdatePanel
      

  9.   

    就是要用AJAX啊。我这不在请教吗
      

  10.   

    现在比较好用的有MagicAjax,Ajax.net,atlas
    推荐使用atlas,毕竟是MS的东西,虽然目前有不少小bug,不过注意点就没问题了.PS:如果使用atlas,那么你的那句js代码可能就不用了,转而使用webservice实现.
      

  11.   

    具体怎么用,不可能在这里给你帖出来吧?多google一下,还是比较简单的.
      

  12.   

    刷新后肯定接不到了,ajax局部刷新
      

  13.   

    vampireal(oo0O0oo) 的方法就可以.. 我就那么用过.. 而且页面刷不刷新都无所谓.. 值都会被保留..
      

  14.   

    疑问:xmlDoc.load("../P0020/ChoiceManage.aspx");这样能获得内容么?
    据我所知,javascript不能直接访问客户端的文件的,更何况aspx文件还是服务器端文件。
      

  15.   

    erwanfan(teddyxiong) ( ) 信誉:100    Blog  2006-09-13 22:30:00  得分: 0  
     
     
       疑问:xmlDoc.load("../P0020/ChoiceManage.aspx");这样能获得内容么?
    据我所知,javascript不能直接访问客户端的文件的,更何况aspx文件还是服务器端文件。
     ----------------------------它所访问的是模拟用户对页面访问时,页面的输出比如
    Message.aspx中你代码如下
    Response.Write("<root>test</root>");
    那么在其它页面中 xmldoc.load("Message.aspx") 实际上加载了 <root>test</root>这个文档。
    <iframe src="message.aspx" />这个你能理解,那么那个load你也应该能理解,只不过iframe是显式的,而 load或loadXML 是在js执行时页面之间建立了一个连接产生个进程来触发所load的页面的执行。二者本质一样
      function GetAndWriteData()
     {
      var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
      xmlDoc.async = false;
      xmlDoc.load("../P0020/ChoiceManage.aspx");
      var xmlStr=xmlDoc.xml;
    }
    这里在default.aspx的客户端脚本变量中已利用ajax从 choiceManage.aspx获取了所需的数据,你要做的仅仅是如何将它输出在页面上,这很简单,就是对xmldom的操作,再利用dhtml对象将数据显示。
    我写给你的例子是 用了一个div   
    div1.innerHTML=xmlStr;
    你如果要进一步控制显示格式,可以用两种方法:
    1:用dom对象将数据循环取出循环写入div,或table
      比如
      var root=xmlDoc.selectNodes("//root/...")  //xsl查询语法,如果是全文档,不需要过滤那么可以不用这样写,具体你要怎么做请参照xmlsdk我不多说了.
      var htmlStr="";
      for(i=0;i<root.length;i++)
      {
         htmlStr=htmlStr + "<td>" + root.item(0).text + "</td>";
         //...格式怎么写依具你的XMLSTR文档格式及你要的输出
      }
      div1.innerHTML=htmlStr; //即可循环将数据按特定格式显示2:针对xmlStr字串的xml文档格式,预写一个xsl文件,然后利用xmldom的 transformNode方法将xmlstr利用xsl格式化输出比如:
       xmlDoc.load("....Message.aspx");
       var xslDoc=new .....; //跟 xmlDoc的声明一样
       xslDoc.load("xsl文件路径");
       div1.innerHTML=xmlDoc.transformNode(xslDoc); //即可按xsl格式化输出xmlstr在页面
      

  16.   

    在页面上添加一个 <input id="Hidden1" type="hidden" runat="server" />
    把xmlStr赋值到里面:
    document.getElementById("Hidden1").value = xmlStr;然后在default.aspx.cs里取该控件的值
      

  17.   

    Eddie005(♂) №.零零伍 (♂) 
    正确,顶一下
      

  18.   

    把xmlStr赋给一个hidden input,设置为runat=server,在cs中读那个input的值.
      

  19.   

    我看搂住还是想看代码。我这里有个例子,搂住看看。我把一个dataset的数据先转换成XML然后,当参数传到弹出页面。也就是:window.showModalDialog(popuppath, Parm, 'dialogWidth:650px;dialogHeight:550px;scroll:no;');// Parm 为xml串。弹出页面,有个hiddenfield:hidData。在弹出页面cs中: strXML = this.hidData.Value;if (!IsPostBack)
                this.ClientScript.RegisterStartupScript(typeof(Page), "", "<script>GetData()</script>");
    aspx中:function GetData()
            {
                document.getElementById("hidData").value = window.dialogArguments;
                __doPostBack("hidData", "");
            }
      

  20.   

    Eddie005(♂) №.零零伍 (♂) ---->>>>正确之道<<<<----在页面上添加一个 <input id="Hidden1" type="hidden" runat="server" />
    把xmlStr赋值到里面:
    document.getElementById("Hidden1").value = xmlStr;然后在default.aspx.cs里取该控件的值
      

  21.   

    如果楼主是要求将xmlStr送到cs变量,那么又何必从另一个cs文件生成xml文档在default.aspx 用ajax获取又再用这方法传到default.cs? 
    各位有没有想过?
      

  22.   

    http://community.csdn.net/Expert/topic/5020/5020789.xml?temp=.3727228借点人气
    接点分