当按钮点击方法调用RadAjaxLoadingPanel
时,我会触发一个典型的Response.Redirect
。重定向页面在OnLoad
方法中有几个昂贵的存储过程。这似乎锁定了UI,并且圆圈冻结直到这些存储过程完成。这些存储过程是否应保留在OnLoad
方法中?加载阻止UI锁定的Response.Redirect
时是否有更好的实现?
protected void Button_Click(object sender, EventArgs e)
{
Response.Redirect("~/page.aspx", false);
}
答案 0 :(得分:0)
这样做。 通过Management Studio或您用于连接数据库的任何设计器程序运行存储过程。这个操作需要多长时间?
现在导航到您的程序设置后台进程以处理存储过程工作 - 但是在调用存储过程的函数中确保有一个返回行:
return [something];
也许您想要函数或方法返回列表或值?在存储过程运行时,您必须将某些内容返回到视图,这样您的进程就不会被占用。
比较程序中的操作与直接从数据库中执行的操作的执行时间。在我看来,无论你的存储过程需要多长时间,如果它在视图中需要它在OnInit中初始化,OnLoad或OnPreRender都无关紧要。