Page_Load在ASP.NET中的Response.Redirect之后没有触发

时间:2011-12-22 21:58:31

标签: asp.net pageload

在asp.net应用程序中,我有一个表单,在用户单击按钮后,我使用Response.Redirect转到另一个页面。但在第二页中,Page_Load事件未触发。我试图设置AutoEventWireup =“false。我也尝试清除浏览器的缓存,最后我尝试使用this.Load事件处理程序,但结果是一样的。感谢任何帮助。

先谢谢你,祝圣诞快乐!

/ 添加了代码 /

protected void btnSubmit_Click(object sender, EventArgs e)
    {
        CreateXML();
        PostToWebApplicationB();
        Response.Redirect(url);
    }

/ 这是PostToWebApplicationB方法 /

private void PostToWebApplicationB()
    {
        try
        {
            request = WebRequest.Create(url);
            request.Method = "POST";
            request.ContentType = "text/xml";

            StreamWriter writer = new StreamWriter(request.GetRequestStream());
            writer.WriteLine(this.GetTextFromXmlFile(filepath));
            writer.Close();
            response = request.GetResponse();
        }
        catch (Exception ex)
        {
            errorLabel.Text = ex.Message;
        }
        finally
        {
            if (request != null)
            {
                request.GetRequestStream().Close();
            }
            if (response != null)
            {
                response.GetResponseStream().Close();
            }
        }
    }

/ 目的地页面的指令 /

<%@ Page Language="C#" AutoEventWireup="false" CodeBehind="Intermediate.aspx.cs"
Inherits="WebApplicationB.Intermediate" %>

1 个答案:

答案 0 :(得分:2)

设置AutoEventWireup =“true”并确保页面上有一个与Page_Load(object sender, EventArgs e)签名匹配的方法

-OR -

保持AutoEventWireup =“false”,但请确保然后手动将OnLoad事件绑定到方法。

C#示例:

override protected void OnInit(EventArgs e)
{
    this.Load += new System.EventHandler(this.Page_Load);
}
相关问题