Ajax updateProgress不显示正确的UpdatePanel的进度

时间:2013-09-26 08:10:23

标签: asp.net ajax vb.net updatepanel updateprogress

我在另一个小组first panel内有一个Ajax小组second panel,并且updateProgress链接到第一个小组

有了这个我有两个问题:

  • updateProgress在第二个面板更新时显示进度图像,但在第一个面板更新时不显示
  • 要更新第二个面板,我必须按下第二个面板内的按钮两次

    <asp:UpdateProgress ID="UProc_TabContainer" runat="server" AssociatedUpdatePanelID="UP_FirstPanel"
    DisplayAfter="1">
    <ProgressTemplate>
        <div id="dvProgress" runat="server" style="position: absolute; top: 300px; left: 450px;
            text-align: center;">
            <asp:Image ID="wait" runat="server" ImageUrl="~/Images/wait3.gif" Height="120px"
                Width="128px" />
        </div>
    </ProgressTemplate>
    </asp:UpdateProgress>
    <asp:UpdatePanel ID="UP_FirstPanel" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <script language="javascript" type="text/javascript">
            function divexpandcollapse(divname) {
                var div = document.getElementById(divname);
                var img = document.getElementById('img' + divname);
                if (div.style.display == "none") {
                    div.style.display = "block"; img.src = "Images/Icons/minus.jpg";
                } else { div.style.display = "none"; img.src = "Images/Icons/plus.jpg"; }
            }</script>
        <asp:DropDownList ID="DateSelection" runat="server" AutoPostBack="True" Height="21px"
            Width="134px">
        </asp:DropDownList>
        <asp:GridView ID="GV_SL" runat="server" OnRowDataBound="gvUserInfo_RowDataBound"
            OnRowCommand="GV_SL_RowCommand" AutoGenerateColumns="false" DataSourceID="SQL_Weekly">
            <Columns>
                <asp:TemplateField ItemStyle-Width="50px">
                    <ItemTemplate>
                        <a href="JavaScript:divexpandcollapse('div<%# Eval("name") %>');">
                            <img id="imgdiv<%# Eval("name") %>" width="15px" border="0" src="Images/Icons/plus.jpg" /></a></ItemTemplate>
                    <ItemStyle Width="40px" />
                </asp:TemplateField>
                <asp:BoundField DataField="name" HeaderText="Group" SortExpression="name" />
                <asp:BoundField DataField="ASL" HeaderText="SL% Act" ReadOnly="True" SortExpression="ASL" />
                <asp:TemplateField>
                    <ItemTemplate>
                        <tr>
                            <td colspan="100%">
                                <div id="div<%# Eval("name") %>" style="display: none; position: relative; left: 15px;
                                    overflow: auto">
                                    <asp:GridView ID="gvChildGrid" runat="server" AutoGenerateColumns="false">
                                        <Columns>
                                            <asp:BoundField DataField="Metric" HeaderText=" " HeaderStyle-HorizontalAlign="Left" />
                                            <asp:BoundField DataField="Actual" HeaderText="Actual" HeaderStyle-HorizontalAlign="Left" />
                                        </Columns>
                                    </asp:GridView>
                                    <br />
                                    <asp:UpdatePanel ID="UP_SecondPanel" runat="server" UpdateMode="Always">
                                        <ContentTemplate>
                                            <%--  --%>
                                            <asp:TextBox ID="TB_Comments" runat="server" Text="Example: Text will be entered here"
                                                TextMode="MultiLine" Rows="4" Width="510px"></asp:TextBox>
                                            <asp:Button ID="B_Save" runat="server" CommandName="AddText" CommandArgument="<%# CType(Container,GridViewRow).RowIndex %>"
                                                Text="Save Changes" />
                                        </ContentTemplate>
                                    </asp:UpdatePanel>
                                    <%--  --%>
                                </div>
                            </td>
                        </tr>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="DateSelection" EventName="SelectedIndexChanged" />
    </Triggers>
    

关于我做错的任何想法?

由于

1 个答案:

答案 0 :(得分:1)

我已经解决了从UpdateProgress中删除AssociatedUpdatePanelID =“UP_FirstPanel”所带来的第一个问题。我希望它有助于某人

我创建了一个单独的帖子,其中包含第二个问题的更详细和简化代码(Nested Ajax UpdatePanel in Gridview needs button control to be clicked twice