0

当我单击更新面板内的图像按钮时,我试图显示进度图像。在按钮上单击 c# 代码应该运行并显示更新进度图像。使用此代码,它运行 c# 代码但不显示进度图像,如果我删除回发触发器,则它显示进度图像但 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>
4

2 回答 2

2

这是我对 AsyncPostBack 触发器的错误,它可以工作。我忘记将 GridView 放在 updatepanel 标记内,所以 c# 代码实际上正在运行,但 gridview 没有更新,因为它不在 updatepanel 标记内。

于 2013-10-01T06:09:42.273 回答
0

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

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


通过更新面板制作进度条是一场噩梦;把UpdatePanel想象成一个刷新的小iframe,它并不是那么做作,但就功能和UI而言,它也可以。

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

于 2013-10-01T02:48:58.583 回答