【问题标题】:why HttpWebRequest runs the target page twice?为什么 HttpWebRequest 运行目标页面两次?
【发布时间】:2011-10-18 03:23:07
【问题描述】:

我使用以下代码将数据发布到default2.aspx 页面。但是当我跟踪default2.aspx 页面时,它运行了两次,我遇到了错误。 我的代码有什么问题?

string url = "http://localhost:3629/WebSite6/Default2.aspx";
        StringBuilder postData = new StringBuilder();
        postData.Append("first_name=" + HttpUtility.UrlEncode("Raymond") + "&");
        postData.Append("last_name=" + HttpUtility.UrlEncode("Sanaz"));
        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());
        }
        finally
        {
            if (writer != null)
                writer.Close();
        }

        Response.Redirect("http://localhost:3629/WebSite6/Default2.aspx");

Default2.aspx:

protected void Page_Load(object sender, EventArgs e)
    {
     s= Request.Form["first_name"].ToString();
    }

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    您正在调用该页面两次:

    第一:

    writer.Write(postData.ToString());

    第二个:

    Response.Redirect("http://localhost:3629/WebSite6/Default2.aspx");

    对于您的问题,这是一个非常有用的链接:http://www.codeproject.com/KB/aspnet/ASP_NETRedirectAndPost.aspx

    【讨论】:

    【解决方案2】:

    当您关闭作者时,您将第一个帖子发布到 default2,然后您的 response.redirect 将导致第二个帖子。

    if (writer != null)                
    writer.Close();
    

    【讨论】:

    • 但我想显示 default2.aspx,如果我删除 Response.Redirect("http://localhost:3629/WebSite6/Default2.aspx"); 我无法在浏览器中显示它。我该怎么办?
    • 你能告诉我更多关于你想要达到的目标的背景吗?
    • 我有两个不同的网站,第一个网站只有一个注册链接,但注册来自第二个网站。现在我想当用户单击第一个网站中的注册链接时,第一个网站将一些参数发送到我在第二个网站中的注册表单,并且在该用户完成第二个网站中的注册表单后,我的网站将用户重定向到第一个网站并带有一些参数。类似于在线支付。
    • 第二个网站能否将其值发布到第一个网站,比如 website1.default,然后重定向到 website1.defaultNewPage?如果这不起作用,请查看此stackoverflow.com/questions/5179/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多