on按钮单击事件,插入数据后,我想显示数据已成功插入的消息。这是我的代码
if (com2.ExecuteNonQuery() >= 1)
{
Response.Write("<script LANGUAGE='JavaScript' >alert('Request Submitted Successfully!')</script>");
}
else
{
Response.Write("<script LANGUAGE='JavaScript' >alert('There is some error. Please enter again')</script>");
}
在上面代码之后不久,在同一事件中插入的空文本框代码之前,它一直工作正常。这是代码
foreach (var control in this.Controls)
{
TextBox tb = control as TextBox;
if (tb != null)
{
tb.Text = string.Empty;
}
}
Response.Redirect("Default.aspx");
现在,在数据插入后,TextBox为空,数据也正在插入,但没有显示弹出消息。问题在哪里
我不是100%确定您的逻辑,而是让服务器执行重定向,而是在致电alert
之后在客户端上执行此操作:
if (com2.ExecuteNonQuery() >= 1) {
Response.Write("<script LANGUAGE='JavaScript' >alert('Request Submitted Successfully!');window.location='Default.aspx';</script>");
} else {
Response.Write("<script LANGUAGE='JavaScript' >alert('There is some error. Please enter again');window.location='Default.aspx';</script>");
}
您的Response.Redirect("Default.aspx")
在服务器级别运行,因此您永远不会给客户端渲染JavaScript的机会,因此您永远不会看到您的响应。write正在输出。
为什么不具有<asp:Label>
控件,该控件会显示您要寻找的消息。
所以,您可以做的不是JavaScript消息:
tb.Text = String.Empty; //clear the textbox
label.Text = "Success Message."; //show the message
已经有一段时间了,因为我使用了WebForms,但是如果您启用了ViewState,则应该使用。您可能还想查看更新程序。