[英]response.write is not working asp.net
在插入数据后按钮单击事件我想显示数据插入成功的消息。 这是我的代码
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");
现在文本框在数据插入后为空,数据也插入但没有显示弹出消息。 哪里有问题
我不是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的机会,因此您将永远不会看到您的Response.Write输出的内容。
你为什么没有一个<asp:Label>
控件来显示你正在寻找的消息。
因此,您可以执行以下操作,而不是javascript消息:
tb.Text = String.Empty; //clear the textbox
label.Text = "Success Message."; //show the message
自从我使用WebForms以来已经有一段时间了,但是如果你启用了Viewstate,这应该可行。 您可能还想查看UpdatePanels。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.