C# 当执行代码的按钮位于更新面板外部时,如何在更新面板内部使用更新进度
我有一个更新面板,里面有一个更新进度。我已将按钮移到更新面板外,因为当我将按钮置于更新面板内时,response.write不起作用。现在,在将按钮移到response.write之外后,它正在工作,但更新进度不起作用。当我把按钮放在外面时,我怎样才能使它工作呢C# 当执行代码的按钮位于更新面板外部时,如何在更新面板内部使用更新进度,c#,asp.net,updatepanel,ajaxcontroltoolkit,C#,Asp.net,Updatepanel,Ajaxcontroltoolkit,我有一个更新面板,里面有一个更新进度。我已将按钮移到更新面板外,因为当我将按钮置于更新面板内时,response.write不起作用。现在,在将按钮移到response.write之外后,它正在工作,但更新进度不起作用。当我把按钮放在外面时,我怎样才能使它工作呢 <asp:UpdateProgress ID="UpdateProgress2" runat="server"> <ProgressTemplate> <div style="
<asp:UpdateProgress ID="UpdateProgress2" runat="server">
<ProgressTemplate>
<div style="width: 338px; position: relative; top: -420px; left: 80px" class=""> <b>Please Wait...</b>
<img runat="server" id="ajaxLoader" style="background-color: White; width: 338px;" src="styles/images/loadImage.gif" alt="loading" />
</div> </ProgressTemplate> </asp:UpdateProgress>
</ContentTemplate> </asp:UpdatePanel>
<asp:Button ID="btn_upload" runat="server" Text="Upload" OnClick="upload_Click" />
请稍候。。。
为更新面板使用触发器
<asp:UpdatePanel>
.... content ...
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btn_upload" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
.... 内容。。。
1。)响应。Write
按设计在UpdatePanel
内部不起作用(请参见此处的原因:)-默认情况下,UpdatePanel
由其所有子控件自动触发
2.)当您将按钮置于其外部时,您触发的是完全回发,而不是UpdatePanel
的部分呈现-因此没有更新进度
当您仅将按钮注册为AsyncPostBackTrigger
(无论何时)时,您得到的情况与第一种情况完全相同
如果将按钮注册为(完整)PostBackTrigger
,或将UpdatePanel
的呈现设置为有条件的,而不是由其子项触发,则得到的情况与第二种情况完全相同
因此,按照alexsuslin的建议,只需将Literal
控件内部的UpdatePanel
的文本属性更改为Response.Write
(如果不想再显示按钮,请将按钮的visible属性设置为false,但如果移到外部,请将其注册为AsyncPostBackTrigger
).当我添加时,触发响应。写入不起作用。如果答案对你有帮助,不要忘记接受答案,作为对他人的基本礼貌…你不想使用响应。写入。。。事实上,我不知道确切的情况,如果你写下你要归档的内容,我会尽力帮助你。您可能会移动repsonse.write to code behind并使用asp:Label更改文本属性。。。