我花了一两个小时试图找到一个我认为应该容易做的解决方案,以及我之前想过的问题,但也许我没有使用正确的术语.
我有一个非常基本的RadGrid,它允许扩展行以进行编辑或显示更多内容.这是我在里面的GridEditCommandColumn
<rad:GridEditCommandColumn EditText="+" UniqueName="EditCommandColumn" ItemStyle-Width="30" HeaderStyle-Width="30" />
Run Code Online (Sandbox Code Playgroud)
再一次,没什么特别的 当网格加载时,每行都有一个"+"字符,允许它展开.如果我点击它,它会正确打开它应该.如果我点击另一行,它会关闭我打开的那一行并打开我点击的那一行.太好了,一切都很好.
现在我一直想要搜索的是,如果我已经打开了一行,我再次点击"+"链接,如果它已经打开,我想要关闭这一行.现在,它仍然开放.
如果你已经打开它再次点击它,我是唯一一个想要它关闭的人吗?
我觉得我想得太多了,或者可能走错了路,但从高层次来说,我要做的就是捕获应用程序中抛出的错误,将它们记录到数据库中,然后重定向到一个软错误页。
在我的 Global.asax 中,我有以下内容:
protected void Application_Error(object sender, EventArgs e)
{
try
{
ErrorLog error = new ErrorLog(Server.GetLastError().GetBaseException(), true);
Response.Redirect("/error.aspx?id=" + error.ID);
}
catch(Exception err)
{
Response.Redirect("/error.aspx");
}
}
Run Code Online (Sandbox Code Playgroud)
错误日志是我创建的一个类,用于执行记录插入等操作。
现在我遇到的问题是,如果数据库有问题,比如它处于脱机状态,存储过程中的错误等,我就会陷入无限循环插入的错误中。
我试图提出解决此行为的解决方案可能是检查是否已抛出错误,如果已抛出,请不要尝试尝试插入记录,但我无法找到太多相关信息.
同样,也许我不会以正确的方式解决这个问题?任何帮助将不胜感激。先谢谢了。