今天做的网站项目中一个功能是导入数据,然后提示一个导入成功或失败的提示信息。
我是这样做的
结果发现,编译项目是不会出错的,但运行到try中的更新数据成功后的提示语句MessageBoxAndReturn("操作成功!");错误异常出现了,也就是标题中的异常:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。
后来查询相关资料,发现是因为不能在try语句中填写 跳出try{}catch{}块(例如Response.Redirect)而直接返回其他页面的代码
解决方法:
1.修改代码,将显示提示信息的函数或者代码放到try{}catch{}块外面;
2.若是用Response.Redirect方法实现跳转页面,则需要使用这个重载函数:
Response.Redirect("XXX.aspx",false); //第二个参数填false就可以了,意思是不终止当前页的执行!

本文讨论了一个在网站项目中遇到的问题,即在try语句中尝试使用Response.Redirect导致的异常。通过将显示提示信息的函数或代码移出try{}
747

被折叠的 条评论
为什么被折叠?



