问题是这样的
假设存在test.aspx,test.htm,
test.htm页面中存在js方法function test(obj)
test.aspx页面重定向到test.htm,但同时需要传递一些数据到这个页面供js方法test(obj)调用
请问在不使用url传值和ajax的情况下怎么实现如果可以的话最好是可以将数据封装到一个对象中传递过去,然后通过JS获取

解决方案 »

  1.   

    如果是重定向 不是打开的话,哪只能POST ,把数据以JSON 形式存在隐藏域中传递如果是打开的话,可以根据页面关系  来传递数据
      

  2.   


    是重定向
    麻烦指点下怎么使用post进行传递哈
      

  3.   

    例子—— 
    using   System.Web; 
    using   System.Text; 
    using   System.IO; 
    private   string   doPost(HttpRequest   request) 

    string   postvalue   =   " "; 
    if(request.InputStream   !=   null) 
    postvalue   +=   "InputStream= ' "+new   StreamReader(request.InputStream).ReadToEnd()+ " '\n "; 
    if(request.Form.Count   >   0) 

    postvalue   +=   "Form   COUNT= "+request.Form.Count.ToString()+ "\n "; 
    foreach(string   key   in   request.Form.AllKeys) 

    postvalue   +=   ( "KEY= "+key+ ",VALUE= "+request.Form[key]+ "\n "); 


    return   postvalue; 
    }
      

  4.   

    test.aspx页面重定向到test.htm-----------------------------post 没办法,只能靠页面的关系,或 get 方式,因为 后面那个是html页
      

  5.   


    饿
    谢谢
    如果后台使用
    //这里添加cookie
    Response.Redirect("test.htm");这样的话cookie能正常添加到客户端不??
    如果可以的话我就考虑把简要信息放cookie里面算了
    大的数据再用ajax提取
      

  6.   

    在。html页中获取外界的值,除了url传值和ajax方式读取外,只能用Cookie了
      

  7.   

    从a.html 通过form action=abc.aspx 传值到abc.aspx, 从html传值到aspx的方法:1.用jquery post 数据:
    $.post($("#txtAddress").val(),
        {
        a:'c',
        c:$("#txtContent").val()
        },
    function (data){
    $("#txtResult").append('<div id="d'+id+'" style="height:'+$("#txtResult").height()+'px;"><div style="display:none" id="p'+id+'">'+$("#content",data).html()+'</div></div>');2.Request.Form["元素的name不是ID"]a.HTML   
    <FORM ACTION="Test_Post_To_ASPX.aspx" METHOD="post"> 
    <INPUT TYPE="text" NAME="Text" VALUE="TTTTTTTTTTTTTTTTT"/> 
    <input type="submit" name="Submit" value="提交"> 
    </FORM> 
    abc.aspx 
    protected void Page_Load(object sender, EventArgs e)
        {
            string a = Request.Form["Text"];
            Response.Write(a);
        }
      

  8.   

    http://hi.baidu.com/hanxianchuan/blog/item/fe5af0953b347f0f7bf480d0.html
    <script   language="javascript">   
      var   XMLHttpReq   =   false;   
      //   创建   XMLHttpRequest   对象(主函数不需改变)   
      function   createXMLHttpRequest(){   
      if(window.XMLHttpRequest){     //   Mozilla   浏览器   
      XMLHttpReq   =   new   XMLHttpRequest();   
      }else   if   (window.ActiveXObject){   //   IE   浏览器   
      try{   
      XMLHttpReq   =   new   ActiveXObject("Msxml2.XMLHTTP");   
      }catch(e){   
      try{   
      XMLHttpReq   =   new   ActiveXObject("Microsoft.XMLHTTP");   
      }catch(e){}   
      }   
      }   
      }   
      //发送请求函数(提交xml格式的请求参数)   
      function   sendRequest(url,xml){   
      createXMLHttpRequest();   
      XMLHttpReq.open("POST",url,true);   
      XMLHttpReq.onreadystatechange   =   processResponse;//指定响应函数   
      XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");   
      XMLHttpReq.send(xml);//发送请求   
      }   
      //创建XML   
      function   createXML(){   
      var   xml   =   "<user>";   
      xml   =   xml   +   "<name>sunjianbin<\/name>";   
      xml   =   xml   +   "<password>7980421<\/password>";   
      xml   =   xml   +   "<\/user>";   
      return   xml;   
      }   
      //处理返回信息函数(处理xml格式的返回信息)   
      function   processResponse(){   
      if(XMLHttpReq.readyState   ==   4){   //   判断对象状态   
      if(XMLHttpReq.status   ==   200){   //   信息已经成功返回,开始处理信息   
      readXml();   
      }else   {   //页面不正常   
      window.alert("您所请求的页面有异常。");   
      }   
      }   
      }   
      function   readXml(){   
      var   objects=XMLHttpReq.responseXML.getElementsByTagName("user");   
      for(var   i=0;i<objects.length;i++){   
      var   object   =   objects[i];   
      var   name=object.getElementsByTagName("name")[0].firstChild.data;   
      var   password=object.getElementsByTagName("password")[0].firstChild.data;   
      alert("name>>>"+name+",password>>>"+password);   
      }   
      }   
      function   sendto(){   
      var   url="/test/servlet/test";   
      var   xml=createXML();   
      sendRequest(url,xml)   
      }   
      </script>
      

  9.   


    呵呵~ 不用jquery 就不能POST 数据么
      

  10.   

    呵呵~ 不用jquery 就不能POST 数据么==========
    很多东方法了。不过开源的jquery还是蛮不错的,不论是性能还是效果。
      

  11.   

    非常感谢12楼的帮助
    不过从html提交到aspx我用form1.submit()
    <form action="test.aspx" name="form1" method="post">
        <input type="text" id="txttest" name="txttest" />
        <input type="button" id="btnsub" onclick="sub()" value="测试" />
    </form>js:
     function sub()
    {
        var form = document.forms["form1"];
        if (!form) {
            form = document.form1;
        }
        form.submit();
    }然后在后台直接用Request[""]或Request.Form[""]也能获取到数据同时也感谢13楼的ajax代码...
      

  12.   

    仔细看完
    确实是ajax代码...