我想在我的网页上显示提醒。我使用try catch块使用了Response.Write
。
当它显示警报时,页面变为白色,然后在警报框中单击“确定”后,页面将返回。我希望页面保持不变并显示警报。我该怎么做?这是我的C#代码。
protected void ImageSave_Click(object sender, ImageClickEventArgs e)
{
SqlConnection cnn = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
cnn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
cmd.CommandText =
"insert into BranchMst(SaupCode,BranchCode, BranchName, UseFlag, SeqNo) values ("
+ "'" + comboSaup.SelectedValue
+ "','" + txtBranchCode.Text.TrimEnd()
+ "','" + txtBranchName.Text.TrimEnd()
+ "','" + txtSeqNo.Text.TrimEnd()
+ "')";
try
{
int ret = cmd.ExecuteNonQuery();
}
catch (System.Data.SqlClient.SqlException ex)
{
Response.Write("<script> alert('Error.Please check your ID');history.back(); </script>");
}
cnn.Close();
ReflashData_Grid1();
ClearField();
}
答案 0 :(得分:1)
试试这个
Response.Write(@"<script language='javascript'>setTimeout(alert(\'Error. Please check your ID\');history.back();', 200);</script>");
答案 1 :(得分:0)
这看起来像是Web浏览器呈现问题,而不是服务器问题。如果阻止渲染过程(例如阻塞警报方法),则渲染引擎无法处理其他HTML和脚本语句。因此,您需要异步调用消息框。
尚未测试,但这可能有效:
Response.Write("<script>setTimeout(alert(\'Error.Please check your ID\');history.back();', 200)</script>");
无论如何,重新考虑如何调用数据层以及如何处理异常。它们不应该用于业务工作流程。