我有一个页面...
Page_Load(){
if (Session["UserName"] != null){
//code for security questions.. i have to go into this logic on every postback to check the security answer.
}
else{
//sends to a page i don't want it to go to
}
}
method(){
...
Session["Username"] = null; //if it reloads the page_load from this page, it sends it ot a page i don't want it to go to.
Response.Redirect("nameofpage.aspx");
}
问题在于它没有直接进入新页面。它再次通过此页面的Page_Load,我需要它转到" nameofpage.aspx"。有没有办法将它发送到下一页而不使用Server.Transfer?
答案 0 :(得分:1)
查看Page.IsPostBack属性以检查页面是第一次呈现还是正在加载以响应回发。
答案 1 :(得分:0)
您遇到的问题是重定向会发回信息。您可以使用函数IsPostBack
检查页面是否第一次加载或是否在回发时运行。
if(!Page.IsPostBack){
// Do stuff
}
答案 2 :(得分:0)
您的问题是该网页正在执行postback
。这就是为什么你的页面会发射两次我相信的原因。在您的代码中,您应该:
if(!this.IsPostBack)
//continue with code
else
//something else
同时检查您的#page指令并确保AutoEventWireup="true"
不存在。这通常是回发问题的根本原因或为什么page_load
将被调用两次。
答案 3 :(得分:0)
对不起伙计们,这是一个糟糕的javascript _dopostback在正面导致多个回发。 :(
*刘海撞在桌子上,嘀咕...... 其他ppls代码