更新进度在Asp.Net中的Gridview内部无效

时间:2014-11-12 06:03:59

标签: c# asp.net gridview updatepanel updateprogress

我想在Gridview内按钮上显示PreLoader。 但它没有按预期工作。

<asp:GridView ID="gv_deparment" runat="server" AutoGenerateColumns="false" OnRowCommand="gvPurchaseInvoiceEntry_RowCommand"
                                    AllowSorting="True" AllowPaging="True" OnPageIndexChanging="gv_deparment_PageIndexChanging" OnSorting="gv_deparment_Sorting"
                                    HeaderStyle-Font-Bold="false" CssClass="gvstyling gridview_width_100" ShowHeaderWhenEmpty="true" EmptyDataText="Record(s) Not Found!">
                                    <Columns>

                                        <asp:BoundField
                                            DataField="department"
                                            HeaderText="Department"
                                            SortExpression="department" />

                                        <asp:TemplateField HeaderText="Status" ItemStyle-Width="10">
                                            <ItemTemplate>
                                                <asp:UpdatePanel ID="UpdatePanel3" runat="server"            UpdateMode="Conditional" ChildrenAsTriggers="true">
                                                    <ContentTemplate>
                                                        <asp:LinkButton ID="btnUpdate" runat="server" CommandName="cmdUpdate"><i class="fa fa-edit"></i> Update </asp:LinkButton>
                                                        <asp:HiddenField ID="hf_departmnt" Value='<%#  Eval("department_id")%>' runat="server" />
                                                        <asp:CheckBox ID="ck_departmnt" OnCheckedChanged="ck_departmnt_CheckedChanged" AutoPostBack="true" runat="server" Checked='<%# Eval("isactive") %>' />
                                                    </ContentTemplate>
                                                    <Triggers>
                                                        <asp:AsyncPostBackTrigger ControlID="btnUpdate" EventName="Click" />
                                                    </Triggers>



                                                </asp:UpdatePanel>




                                            </ItemTemplate>
                                        </asp:TemplateField>

                                        <asp:TemplateField HeaderText="Update Message"  ItemStyle-Width="200">
                                            <ItemTemplate>
                                                <asp:UpdateProgress ID="UpdateProgressdf1"     runat="server" ClientIDMode="AutoID" Visible="true">
                                                    <ProgressTemplate>
                                                        <img src="../img/spinner-mini.gif" />
                                                        &nbsp; Please Wait...
                                                    </ProgressTemplate>
                                                </asp:UpdateProgress>
                                            </ItemTemplate>
                                        </asp:TemplateField>

                                    </Columns>
                                </asp:GridView> 

这是我面临的问题。 单击按钮时,只显示按钮旁边的预加载器。 这是图像 enter image description here

但不幸的是,所有预加载器都在单击按钮上显示。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

我认为原因是你没有设置AssociatedUpdatePanelID。此链接可能会有助http://msdn.microsoft.com/en-us/library/bb386421%28v=vs.100%29.aspx