我现在需要这样一个功能:在C#代码里通过POST方式提交一个表单效果要等同于用form+submit的效果,就是提交完了以后,要跳转到目标页面。

解决方案 »

  1.   

    基本的asp.net页面就是这种效果
      

  2.   

    所谓post就是事件提交吧 个人理解
      

  3.   

    为什么非要用这样的功能了?
    如果非要用,那就在你的接收页面获取参数的,如果不要求页面无参数的话,处理完成后,直接用
     Response.Redirect("目标页面名称");
      

  4.   

    <asp:button id="Button1"
          text="Post value to another page" 
          postbackurl="Button.PostBackUrlPage2cs.aspx" 
          runat="Server">
        </asp:button>
      

  5.   

    获值可以 
    方法一
             string s1 = ((TextBox)PreviousPage.FindControl("TextBox1")).Text;
            string s2 = ((TextBox)PreviousPage.FindControl("TextBox2")).Text;
    方法二:
            string s3 = Request["TextBox3"].ToString();
      

  6.   

    唉楼上的不理解我的意思难道要提交到的目标页面非得是自己的网站吗??比如说我要把我的表单提交到www.abc.com/receive.aspx我现在要用代码实现
      

  7.   

    不懂。asp.net中的form默认的就是post方式
      

  8.   

    这个默认的是提交给自身,后台.cs可以处理,要是提交到其他的页面 把form中的那个runat=server 去掉
    像这样<form id="form1" method="post" action="要提交的页面"
      

  9.   

    <form ruanat="server" method="post" action="a.aspx">默认提交到自己。
    <form method="post"  action="a.aspx">这样可提交到a页面。如果我没记错。
      

  10.   

    用webclient或者httprequest实现吧
      

  11.   

    Winform还是ASP.NET?两者方式不同。Winform使用WebClient
    ASP.NET使用Javascript 参考 http://www.cnblogs.com/angushine/archive/2008/07/20/1247223.html
      

  12.   

     <form id="form1" method="post" action="要提交的页面" >
     <input id='txtnamename' name='txtname'><input type='submit' value='提交'/>
    <from>
      

  13.   

    大家请看清楚我的要求,是在C#代码里通过POST方式提交表单,所以在HTML里写FORM肯定是不行
      

  14.   


    把FORM里的RUNAT=“SERVER”;
    取掉,ACTION 等都加上。
      

  15.   

    你写个提交的方法。然后在pag_Load里面
     这样
          if (Request.HttpMethod == "POST")
            { 
                 提交的方法();
            }
      

  16.   

    貌似你连什么是C#都没弄清楚?C#是一门语言,ASP.NET和WINFROM都是用C#编写的,你想说的是用WINFROM实现吧?
      

  17.   


    呵呵,你才没弄清楚C#是什么呢谁规定ASP.NET提交表单只能用FORM了?我就是想在ASP.NET中用C#实现,不可以吗?我现在就有这样的功能要求
      

  18.   


    我的意思已经很清楚了,就是用c#代码实现通过POST提交表单。因为我在提交表单之前要写自己的逻辑,而且提交目标是别人的站点哪里不清楚?如果你不知道如何解决,你别瞎嚷嚷
      

  19.   

    LZ的意思是要在后台的纯C#代码区独立实现POST到指定页面的功能。跟前台的ASP.NET代码没关系的。
    用httpwebrequest来实现。
      

  20.   

    ===============转====================
    怎样通过HttpWebRequest 发送 POST 请求到一个网页服务器?例如编写个程序实现自动用户登录,自动提交表单数据到网站等。
    假如某个页面有个如下的表单(Form):
    <form name="form1" action="http://www.here.com/login.asp" method="post">
      <input type="text" name="userid" value="">
      <input type="password" name="password" value="">
    </form>
        
    从表单可看到表单有两个表单域,一个是userid另一个是password,所以以POST形式提交的数据应该包含有这两项。
    其中POST的数据格式为:
    表单域名称1=值1&表单域名称2=值2&表单域名称3=值3……
    要注意的是“值”必须是经过HTMLEncode的,即不能包含“<>=&”这些符号。本例子要提交的数据应该是:
    userid=value1&password=value2用C#写提交程序:  string strId = "guest";
      string strPassword= "123456";  ASCIIEncoding encoding=new ASCIIEncoding();
      string postData="userid="+strId;
      postData += ("&password="+strPassword);  byte[] data = encoding.GetBytes(postData);  // Prepare web request...
      HttpWebRequest myRequest =
       (HttpWebRequest)WebRequest.Create("http://www.here.com/login.asp");  myRequest.Method = "POST";
      myRequest.ContentType="application/x-www-form-urlencoded";
      myRequest.ContentLength = data.Length;
      Stream newStream=myRequest.GetRequestStream();  // Send the data.
      newStream.Write(data,0,data.Length);
      newStream.Close();  // Get response
      HttpWebResponse myResponse=(HttpWebResponse)myRequest.GetResponse();
      StreamReader reader = new StreamReader(response.GetResponseStream(),Encoding.Default);
      string content = reader.ReadToEnd();
      Console.WriteLine(content);