在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" %>
答案 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);
}