我有代码在单击保存按钮后检查某些值。用户在文本框中输入值,如果未从下拉列表中选择值,则会抛出异常。文本框的默认值为1。因此,如果没有选择原因,则显示消息。问题是文本框中的任何值仍然存在,但是如果我手动刷新页面,那么它将被默认为一个。我需要在异常后刷新页面,以便文本框返回默认值。
JobPieceSerialNo SerNo = new JobPieceSerialNo(job.ID);
if (SerNo.Reason == null)
{
throw new Exception("Must select reason");
Response.Redirect("Job.aspx?JobID=" + Request.QueryString["JobID"], false);
}
在异常之后放置响应代码使得代码无法访问并将其放在if语句之外似乎也不起作用。那么我该如何刷新页面呢?
答案 0 :(得分:2)
如果要在发生异常时刷新页面,请将此
catch
{
Response.Redirect(Request.RawUrl);
}
我希望它会起作用
答案 1 :(得分:1)
你可以使用try catch块并将你的响应放在catch和你的
中 if (SerNo.Reason == null)
{
try{
throw new Exception("Must select reason");
}
catch{
Response.Redirect("Job.aspx?JobID=" + Request.QueryString["JobID"], false);
}
}
或者您可以为throw new Exception("Must select reason");
替换MessageBox.Show("Must select reason")
,然后从那里离开该方法。