应该在 OnInit、OnLoad 或 OnPreRender 中调用存储过程
本文关键字:OnPreRender 调用 存储过程 OnLoad OnInit | 更新日期: 2023-09-27 18:31:19
>我有一个典型的RadAjaxLoadingPanel
,当按钮单击方法调用Response.Redirect
时触发。重定向页在 OnLoad
方法中有几个昂贵的存储过程。这似乎锁定了 UI,并且循环将冻结,直到这些存储过程完成。这些存储过程是否应保留在 OnLoad
方法中?加载防止 UI 锁定的Response.Redirect
时是否有更好的实现?
protected void Button_Click(object sender, EventArgs e)
{
Response.Redirect("~/page.aspx", false);
}
这样做。通过 Management Studio 或用于连接到数据库的任何设计器程序运行存储过程。此操作需要多长时间?
现在导航到程序设置后台进程来处理存储过程工作 - 但在调用存储过程的函数中,请确保有一个返回行:
return [something];
也许您希望函数或方法返回列表或值?在存储过程运行时,必须将某些内容返回到视图,以便进程不会中断。
比较程序中操作的执行时间与直接来自数据库的操作的执行时间。在我看来,无论您的存储过程在视图中需要多长时间,在 OnInit 中初始化它,OnLoad 或 OnPreRender 都无关紧要。