Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当执行代码的按钮位于更新面板外部时,如何在更新面板内部使用更新进度_C#_Asp.net_Updatepanel_Ajaxcontroltoolkit - Fatal编程技术网

C# 当执行代码的按钮位于更新面板外部时,如何在更新面板内部使用更新进度

C# 当执行代码的按钮位于更新面板外部时,如何在更新面板内部使用更新进度,c#,asp.net,updatepanel,ajaxcontroltoolkit,C#,Asp.net,Updatepanel,Ajaxcontroltoolkit,我有一个更新面板,里面有一个更新进度。我已将按钮移到更新面板外,因为当我将按钮置于更新面板内时,response.write不起作用。现在,在将按钮移到response.write之外后,它正在工作,但更新进度不起作用。当我把按钮放在外面时,我怎样才能使它工作呢 <asp:UpdateProgress ID="UpdateProgress2" runat="server"> <ProgressTemplate> <div style="

我有一个更新面板,里面有一个更新进度。我已将按钮移到更新面板外,因为当我将按钮置于更新面板内时,response.write不起作用。现在,在将按钮移到response.write之外后,它正在工作,但更新进度不起作用。当我把按钮放在外面时,我怎样才能使它工作呢

 <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更改文本属性。。。