自动提交UpdatePanel并显示UpdateProgress区域

时间:2009-11-05 21:35:47

标签: asp.net updatepanel updateprogress

我想自动提交表单并在提交后显示更新进度区域。我已经厌倦了向页面添加2个功能:

window.onload=function(){
     __doPostBack('UpdatePanelId','');
}

和....

window.onload=function(){
     var btn = document.getElementById('buttonID');
     btn.click();
}

页面被回发,但进度区域没有显示。我有什么想法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

根据您的进一步评论:

您在该面板之外有UpdatePanelSomeUploadControl。当您从UpdateProgress导致完全回传时,您希望显示SomeUploadControl

如果上述假设是正确的 - 我担心你不能做你想做的事。 UpdateProgress背后的整个想法是处理PARTIAL POSTBACKS。

我很确定以上是正确的,但我可能会弄错。


根据您的评论编辑:)

尝试:

window.onload=function(){
     __doPostBack('buttonID','');
}

如果这不起作用 - 提供有关您尝试解决的问题的更多详细信息(为什么要尝试通过javascript进行回发),并且可能有更好的方法。

答案 1 :(得分:0)

我得到了它的工作!!

Origianlly,我让我的脚本在ScriptManager客户端脚本块中运行。我将它移到脚本管理器之外,并在脚本中添加了超时。这是它的样子:

            Dim script As String = "window.onload = function(){" & vbCrLf
            script += "setTimeout('submitPage()',2000);}" & vbCrLf
            script += "function submitPage(){" & vbCrLf
            script += " var btn = document.getElementById('" & Me.btnProcess.ClientID & "');" & vbCrLf
            script += "btn.click();}" & vbCrLf    
                            ClientScript.RegisterClientScriptBlock(Me.Page.GetType, "autosubmit", script, True)