Показывать сообщение и страницу перезагрузки в C # asp.net веб-форма

#c# #asp.net

#c# #asp.net

Вопрос:

Я хочу показывать сообщение и страницу перезагрузки одновременно,

Но он продолжал перезагружать страницу и не может остановиться.

Как я могу решить эту проблему? Спасибо.

    protected void btnCk_Click(object sender, EventArgs e)
    {
        string a= Request.Form["a"];
        string b= Request.Form["b"];
        string c= Request.Form["c"];

        string strReturn = null;

        strReturn = U9.Data.LoginData.LoginChange(a, b, c);

        if (strReturn == "0")
        {
            Response.Write("<Script language='JavaScript'>alert('OK');</Script>");   
        }
        else
        {
            Response.Write("<Script language='JavaScript'>alert('"  strReturn.ToString()   "');</Script>");
        }

        Response.Write("<Script language='JavaScript'>window.location.reload();</Script>");
        Response.End();
    }
  

Комментарии:

1. это бесконечная перезагрузка страницы, точно так же, как цикл.

2. это бесконечная страница перезагрузки Как?

3. Мне непонятно, что вы пытаетесь сделать.

4. не удается завершить страницу перезагрузки

5. @Div спасибо, теперь все в порядке.

Ответ №1:

Я думаю, что эта проблема из-за того, что вы пытаетесь использовать Response.Write который записывает строку в поток вывода HTTP-ответа.

В этом случае вы можете использовать ClientScriptManager.RegisterStartupScript Method

 if (strReturn == "0")
{
    ClientScript.RegisterStartupScript(Page.GetType(), "alert", "alert('OK');window.location='default.aspx';", true);
}
else
{
    ClientScript.RegisterStartupScript(Page.GetType(), "alert", "alert('"  strReturn.ToString()   "');window.location='default.aspx';", true);
}
  

И измените свою страницу на место default.aspx

Надеюсь, это поможет!