我有一些耗时的服务器端功能,所以我尝试逐步执行每个功能,并告知用户进度。
所以我的方法是:
Style="display: none"
)按钮的点击事件,该按钮也被注册为UpdatePanel的异步触发器但问题是尽管我已正确设置了AssociatedUpdatePanelID,但不会显示UpdateProgress控件。这些功能都被正确触发,标签正在更新,只有UpdateProgress保持不可见。
请看一下:
<asp:UpdateProgress ID="UpdateProgress1" DynamicLayout="true" runat="server" AssociatedUpdatePanelID="UpdFormPanel" DisplayAfter="0">
<ProgressTemplate>
<div class="progress">
<asp:Image ID="ImgProgress" runat="server" ImageUrl="~/images/ajax-loader-arrows.gif"
ToolTip="loading..." /> please wait...
</div>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdFormPanel" runat="server" UpdateMode="conditional" ChildrenAsTriggers="false">
<ContentTemplate>
....
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnShowUploadResult" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="btnExtractFile" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="btnShowResultView" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<asp:Button ID="btnShowUploadResult" runat="server" CausesValidation="false" Text="hidden" Style="display: none" />
<asp:Button ID="btnExtractFile" runat="server" CausesValidation="false" Text="hidden" Style="display: none" />
<asp:Button ID="btnShowResultView" runat="server" CausesValidation="false" Text="hidden" Style="display: none" />
通过这种方式,我在按钮单击事件处理程序中注册了javascript:
AjaxControlToolkit.ToolkitScriptManager.RegisterStartupScript(Me.UpdFormPanel, GetType(String), "ShowResultView", "$get('" & Me.btnShowResultView.ClientID & "').click();", True)
提前谢谢。
答案 0 :(得分:1)
您是否在任何地方的代码中设置启用或可见属性?这可能导致页面无法呈现控件。你验证了html在那里吗?你确定在需要时正确改变了风格吗?使用萤火虫并设置断点。走过js。