消息在重定向之前不会显示 [英] Message Will not display before redirect

查看:65
本文介绍了消息在重定向之前不会显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个表单,用户将填写并提交到数据库中。我有一条消息,告诉用户数据已保存到数据库中,然后重定向到另一个页面。我必须修复我的重定向代码,现在它可以工作,但消息没有显示在重定向之前。我做错了什么?



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 before Response.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆