我正在开发ASP.NET应用程序。
该应用程序的体系结构是一个Index.aspx
页,其中包含6个用户控件
Login.ascx
,Entry.ascx
,function1.ascx
,function2.ascx
,function3.ascx
,function4.ascx.
使用流程是用户需要使用Login
控件进行登录,完成后,他们将导航到Entry
控件,在此他们可以决定要转到哪个功能视图。每个功能视图都有按钮,这些按钮会将一些文件发送到远程服务器。并且由于每个控件都在同一个Index.aspx
中,因此可以通过切换PostBack
中控件的可见性来进行导航。
现在是问题:由于需要连接到远程服务器的功能太多,因此当操作花费的时间太长时,我需要显示进度状态。我在考虑使用UpdateProgress
和UpdatePanel
选项1:仅将按钮放在UpdatePanel
内。但是然后在PostBack
中,我无法切换外部控件的可见性。
选项2:将每个用户控件分别包装在UpdatePanel
中,然后执行UpdateMode=Always
。但是我很担心表现。
选项3:将每个用户控件分别包装在UpdatePanel
中,然后执行UpdateMode=Conditional
。然后以编程方式对需要在Update
中进行切换的控件执行PostBack
。
选项4:将所有6个用户控件放在一个UpdatePanel
中。
选项5:只需使用OnClientClick
来显示进度状态,然后使用ScriptManager
来切换回PostBack
我对这些都不满意。还有其他选择吗?