ASP.net发布重定向?

Ric*_*ico 5 c# asp.net post

基本上我想要一个URLString并打破所有变量及其值并将它们发布到另一个页面,并重定向到taht页面.如何在没有表格和实际提交等的情况下将其关闭...

这就是我得到的......

   string url = "http://www.blah.com/xyz.aspx";


        StringBuilder postData = new StringBuilder();

        postData.Append("CustomerID=" + HttpUtility.UrlEncode("Hello Rico") + "&");
        postData.Append("FirstName=" + HttpUtility.UrlEncode("HelloFirstName"));
        //ETC for all Form Elements    

        // Now to Send Data.    
        StreamWriter writer = null;

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = postData.ToString().Length;
        try
        {
            writer = new StreamWriter(request.GetRequestStream());
            writer.Write(postData.ToString());
            writer.Flush();

            HttpWebResponse WebResp = (HttpWebResponse)request.GetResponse();

            //Now, we read the response (the string), and output it.   
            Stream Answer = WebResp.GetResponseStream();
            StreamReader _Answer = new StreamReader(Answer);
            Response.Write(_Answer.ReadToEnd());

        }
        finally
        {
            if (writer != null)
                writer.Close();
        }   
Run Code Online (Sandbox Code Playgroud)

Kla*_*sen 2

由于您无法同时进行重定向和发布,因此您唯一的选择是使用在页面加载时提交的表单来呈现 html 页面。当然,除非你能让接收者接受url中的参数。如果您想要“发布”到一个 asp.net 页面,那么您是否在查询字符串中发送数据并不重要,除非您发送大量数据。

请记住,重定向与告诉浏览器“改为转到此页面”相同。此信息位于您返回的 http 标头中。因此,渲染自动提交的表单不会有太多开销。