Updatebutnel中不会触发Imagebutton

时间:2013-09-30 23:57:32

标签: c# asp.net updatepanel updateprogress

当我单击updatepanel内的Imagebutton时,我正在尝试显示进度图像。在按钮上单击c#代码应该运行以及显示更新进度图像。使用此代码,它运行c#代码,但不显示进度图像,如果我删除postbacktrigger,然后它显示进度图像但c#不运行。我知道如何解决它?

<div id="scriptmanager">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true">

        <ContentTemplate>
         <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/images/SurveyImages/clean.jpg" 
                                     onclick="cmd_clean_emergency_Click"  


                                style="-webkit-appearance:push-button; border-radius:5px; border: 4px solid #E9A732" Enabled="False" 
                                     />
        </ContentTemplate>
        <Triggers>
        <asp:PostBackTrigger ControlID="ImageButton1"/>
        </Triggers>
        </asp:UpdatePanel>
        <asp:UpdateProgress ID="UpdateProgress1" DisplayAfter="0" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
        <ProgressTemplate>
            <img src="images/ProgressBar1.jpg" />

        </ProgressTemplate>
        </asp:UpdateProgress>
    </div>

2 个答案:

答案 0 :(得分:2)

我的错误是AsyncPostBack触发它的工作原理。我忘了将GridView放在updatepanel标签内,因此c#代码实际上正在运行,但gridview没有更新,因为它不在updatepanel标签内。

答案 1 :(得分:0)

AsyncPostBackTrigger不起作用的原因是因为它是为UI级别的执行而设计的。 http://msdn.microsoft.com/en-us/library/system.web.ui.asyncpostbacktrigger.aspx

注意在示例中,表单输入字段的名称直接输入到SqlDataSource的select命令。


通过更新面板执行进度条是一场噩梦;想象一下UpdatePanel是一个刷新的小iframe,它不是那么做作,而是功能和UI的术语,它可能也是如此。

最好调查处理进度条的JavaScript方法。但是,这里有一些解决方案:http://www.dotnetcurry.com/ShowArticle.aspx?ID=227