实在不行, 你把页面元素一个个取出来, 拼合成一个xml字符串, 
通过xmlhttp的方式把它发送给远方的服务器
再试试看

解决方案 »

  1.   

    it works for me, for exampletest1.aspx:
    <%
     dim sKey as String
     for each sKey in Request.Form.AllKeys
      Response.Write (sKey & "=" & Request.Form(sKey) & "<BR>")
     next
    %>test2.aspx:
    <%@ Import Namespace="System.Net" %>
    <%@ Import Namespace="System.IO" %>
    <% Dim MyWebRequest As WebRequest = WebRequest.Create("http://127.0.0.1/testap/test1.aspx")
            MyWebRequest.Method = "post"
            MyWebRequest.ContentType = "application/x-www-form-urlencoded"
            Dim MyPostData As String = "TextBox1=abcdefg&Button1=Button"
            Dim MyPostBuffer As Byte() = System.Text.Encoding.GetEncoding("GB2312").GetBytes(MyPostData)
            MyWebRequest.ContentLength = MyPostBuffer.Length
            Dim MyStream As Stream = MyWebRequest.GetRequestStream()
            MyStream.Write(MyPostBuffer, 0, MyPostBuffer.Length)
            MyStream.Close()
            Dim MyWebResponse As WebResponse = MyWebRequest.GetResponse()
            Dim MyStreamReader As StreamReader = New StreamReader(MyWebResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312"))
            Response.Write( MyStreamReader.ReadToEnd)
            MyStreamReader.Close()
    %>
      

  2.   

    it works?不是你那样的呀。我的test.aspx是这样的:
    <form id="Form1" method="post" runat="server">
    <asp:TextBox id="TextBox1" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server"></asp:TextBox>
    <asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 176px; POSITION: absolute; TOP: 8px" runat="server" Text="Button"></asp:Button>
    </form>没有提交点button时的代码(第一种情况):
    <form name="Form1" method="post" action="t2.aspx" id="Form1">
    <input type="hidden" name="__VIEWSTATE" value="dDwxNDg5OTk5MzM7Oz7HBF+eIc05sFxTU3Ee9/w3TCj/Rg==" /> <input name="TextBox1" type="text" id="TextBox1" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" />
    <input type="submit" name="Button1" value="Button" id="Button1" style="Z-INDEX: 102; LEFT: 176px; POSITION: absolute; TOP: 8px" />
    </form>给textbox1输值,点button后的代码(第二种情况):
    <form name="Form1" method="post" action="t2.aspx" id="Form1">
    <input type="hidden" name="__VIEWSTATE" value="dDwxNDg5OTk5MzM7Oz7HBF+eIc05sFxTU3Ee9/w3TCj/Rg==" /><input name="TextBox1" type="text" value="aaaaaaaa" id="TextBox1" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" />
    <input type="submit" name="Button1" value="Button" id="Button1" style="Z-INDEX: 102; LEFT: 176px; POSITION: absolute; TOP: 8px" />
    </form>post到远程后,得不到第二种情况的,post到asp页面或php上应是第二种情况的,请思归GG帮忙,谢了。远程的页面不是我能控制的呀。
      

  3.   

    what is the relationship betwen t2.aspx and test.aspx? how does the code in the original post come into play?
      

  4.   

    抱歉,错了,没有t2.aspx,是test.aspx
      

  5.   

    test2.aspx:<%
     Response.Write(DateTime.Now.ToString() & "<BR>")
     dim sKey as String
     for each sKey in Request.Form.AllKeys
      Response.Write (sKey & "=" & Request.Form(sKey) & "<BR>")
     next
    %>test3.aspx:
    <%@ Import Namespace="System.Net" %>
    <%@ Import Namespace="System.IO" %>
    <script runat=server>Sub SendRequest(sender as Object, e as EventArgs)
    Dim MyWebRequest As WebRequest = WebRequest.Create("http://127.0.0.1/aspnetlabs/test2.aspx")
            MyWebRequest.Method = "post"
            MyWebRequest.ContentType = "application/x-www-form-urlencoded"
            Dim MyPostData As String = Request.Form.ToString()
    MyPostData = Regex.Replace(MyPostData,"__VIEWSTATE=.*?(&|$)","", RegexOptions.IgnoreCase Or RegexOptions.Singleline)
            Dim MyPostBuffer As Byte() = System.Text.Encoding.GetEncoding("GB2312").GetBytes(MyPostData)
            MyWebRequest.ContentLength = MyPostBuffer.Length
            Dim MyStream As Stream = MyWebRequest.GetRequestStream()
            MyStream.Write(MyPostBuffer, 0, MyPostBuffer.Length)
            MyStream.Close()
            Dim MyWebResponse As WebResponse = MyWebRequest.GetResponse()
            Dim MyStreamReader As StreamReader = New StreamReader(MyWebResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312"))
            Message.Text =  MyStreamReader.ReadToEnd()
            MyStreamReader.Close()
    End Sub
    </script><form id="Form1" method="post" runat="server">
    <asp:TextBox id="TextBox1" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server"></asp:TextBox>
    <asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 176px; POSITION: absolute; TOP: 8px" runat="server" Text="Button" OnClick="SendRequest"></asp:Button>
            <asp:Label id="Message" runat="server" />
    </form>