消息在重定向之前不会显示 [英] Message Will not display before redirect
本文介绍了消息在重定向之前不会显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个表单,用户将填写并提交到数据库中。我有一条消息,告诉用户数据已保存到数据库中,然后重定向到另一个页面。我必须修复我的重定向代码,现在它可以工作,但消息没有显示在重定向之前。我做错了什么?
I have a form that a user will fill out and submit into the database. I have a message that will tell the user that the data was saved into the database then it redirects to another page. I had to fix my redirect code and now that works but the message is not displaying before the redirect. What did I do wrong?
protected void ButtonSubmit_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["HotConnectionString"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("Insert into Table50 (INST_ID, TOTAL_REVE, DATE, FINYR, INSTRUCTIO, RESEARCH, ACADEMIC_S, NET_AID, AUXILIARY_, OTHEREXP, TOTASSETS, TOTLIABILITY, NoNEXPPERMRESASSETS, UNRNETASSETS, TOTALREV, TUITFEES, CURRDEBT, LONGTERMDEBT) values (@INST_ID, @TOTAL_REVE, @DATE, @FINYR, @INSTRUCTIO, @RESEARCH, @ACADEMIC_S, @NET_AID, @AUXILIARY_, @OTHEREXP, @TOTASSETS, @TOTLIABILITY, @NoNEXPPERMRESASSETS, @UNRNETASSETS, @TOTALREV, @TUITFEES, @CURRDEBT, @LONGTERMDEBT)Insert into Table55 (INST_ID, TOTAL_REVE, DATE, FINYR, INSTRUCTIO, RESEARCH, ACADEMIC_S, NET_AID, AUXILIARY_, OTHEREXP, TOTASSETS, TOTLIABILITY, NoNEXPPERMRESASSETS, UNRNETASSETS, TOTALREV, TUITFEES, CURRDEBT, LONGTERMDEBT) values (@INST_ID, @TOTAL_REVE, @DATE, @FINYR, @INSTRUCTIO, @RESEARCH, @ACADEMIC_S, @NET_AID, @AUXILIARY_, @OTHEREXP, @TOTASSETS, @TOTLIABILITY, @NoNEXPPERMRESASSETS, @UNRNETASSETS, @TOTALREV, @TUITFEES, @CURRDEBT, @LONGTERMDEBT)", con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@INST_ID", TextBoxINST_ID.Text);
cmd.Parameters.AddWithValue("@TOTAL_REVE", TextBoxTRR.Text);
cmd.Parameters.AddWithValue("@INSTRUCTIO", TextBoxInstr.Text);
cmd.Parameters.AddWithValue("@RESEARCH", TextBoxResPs.Text);
cmd.Parameters.AddWithValue("@ACADEMIC_S", TextBoxAcadSSSIS.Text);
cmd.Parameters.AddWithValue("@NET_AID", TextBoxNGAS.Text);
cmd.Parameters.AddWithValue("@AUXILIARY_", TextBoxAuxE.Text);
cmd.Parameters.AddWithValue("@OTHEREXP", TextBoxAOE.Text);
cmd.Parameters.AddWithValue("@TOTASSETS", TextBoxTA.Text);
cmd.Parameters.AddWithValue("@TOTLIABILITY", TextBoxTL.Text);
cmd.Parameters.AddWithValue("@NoNEXPPERMRESASSETS", TextBoxNPRNA.Text);
cmd.Parameters.AddWithValue("@EXPENDABLE", TextBoxETRNA.Text);
cmd.Parameters.AddWithValue("@UNRNETASSETS", TextBoxTUNA.Text);
cmd.Parameters.AddWithValue("@TOTALREV", TextBoxTR.Text);
cmd.Parameters.AddWithValue("@TUITFEES", TextBoxTFN.Text);
cmd.Parameters.AddWithValue("@CURRDEBT", TextBoxCD.Text);
cmd.Parameters.AddWithValue("@LONGTERMDEBT", TextBoxLTD.Text);
cmd.Parameters.AddWithValue("@FINYR", lblYEAR.Text);
cmd.Parameters.AddWithValue("@DATE", TextBoxDATE.Text);
cmd.ExecuteNonQuery();
con.Close();
if (Page.IsValid)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "alert('You Have Successfully Submitted the Financial Profile');", true);
}
SqlConnection con4 = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["HotConnectionString"].ConnectionString);
con4.Open();
if (true)
{
SqlCommand level = new SqlCommand("select accessLevel, INST_ID from Table22 where INST_ID = @INST_ID AND accessLevel = @accessLevel", con4);
level.Parameters.Add(new SqlParameter("INST_ID", TextBoxINST_ID.Text));
level.Parameters.Add(new SqlParameter("accessLevel", TextBoxaccessLevel.Text));
SqlDataReader reader = level.ExecuteReader();
DataTable dt1 = new DataTable();
dt1.Load(reader);
foreach (DataRow dr1 in dt1.Rows)
{
int returnedLevel = Convert.ToInt32(dr1[0].ToString());
int accessLevel = Convert.ToInt32(dr1[1].ToString());
Session["accessLevel"] = accessLevel;
if (returnedLevel == 1)
{
Response.Redirect("FormAPublic.aspx");
}
else if (returnedLevel == 2)
{
Response.Redirect("FormCPrivateNon.aspx");
}
else if (returnedLevel == 3)
{
Response.Redirect("FormDPrivateFor.aspx");
}
else if (returnedLevel == 11)
{
Response.Redirect("FormAPublicL.aspx");
}
else if (returnedLevel == 21)
{
Response.Redirect("FormCPrivateNonL.aspx");
}
else if (returnedLevel == 31)
{
Response.Redirect("FormDPrivateForL.aspx");
}
else if (returnedLevel == 7)
{
Response.Redirect("CEOPage.aspx");
}
}
TextBoxTRR.Text = "0";
TextBoxInstr.Text = "0";
TextBoxResPs.Text = "0";
TextBoxAcadSSSIS.Text = "0";
TextBoxNGAS.Text = "0";
TextBoxAuxE.Text = "0";
TextBoxAOE.Text = "0";
TextBoxTA.Text = "0";
TextBoxTL.Text = "0";
TextBoxNPRNA.Text = "0";
TextBoxETRNA.Text = "0";
TextBoxTUNA.Text = "0";
TextBoxTR.Text = "0";
TextBoxTFN.Text = "0";
TextBoxCD.Text = "0";
TextBoxLTD.Text = "0";
TextBoxFullN.Text = "John Doe";
TextBoxTitle.Text = "Dr.,Mr., Mrs., Ms., Miss";
TextBoxMA.Text = "123 Address Road";
TextBoxTN.Text = "000-000-0000";
TextBoxFN.Text = "000-000-0000";
TextBoxEA.Text = "@email.com";
TextBoxTNA.Text = "0";
TextBoxTNA2.Text = "0";
{
推荐答案
您无法在页面重定向之前显示警报。还需要在Javascript中处理重定向。
You cant show an alert just before a Page redirect. Need to handle the redirection also in Javascript.
在之前显示警报> Response.Redirect
是不可能的。
相反,你必须使用JavaScript重定向。
下面的东西应该可以工作......
Showing Alert beforeResponse.Redirect
is not possible.
Instead you have to redirect using JavaScript.
Something like below should work...
ScriptManager.RegisterStartupScript(this,this.GetType(),"Redit","window.location='" + Request.ApplicationPath + "Default.aspx';",true);
我有一个项目,我有相同的情况。尝试使用这个
I had a project in which i had same situation.Try using this
ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert('Response Added Successfully');", true);
string ToRedirectURL = "homepage.aspx";
Response.AppendHeader("REFRESH", "2;URL=" + ToRedirectURL);
您可以将homepage.aspx更改为要重定向的whereevr。最后一行刷新后的数字2告诉页面将改变多少秒。您可以相应地设置它
You can change homepage.aspx to whereevr you want to redirect.And the digit 2 after refresh in the last line tells after how many seconds the page will change.You can set it accordingly
这篇关于消息在重定向之前不会显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文