C# 在计时器上刷新Gridview,但保持扩展div的状态

C# 在计时器上刷新Gridview,但保持扩展div的状态,c#,javascript,jquery,asp.net,gridview,C#,Javascript,Jquery,Asp.net,Gridview,我有一个在更新面板和计时器中运行的Gridview。它只显示主标题和其他主要部分,然后在它下面是其余的详细信息。用户可以单击title div,并使用以下Javascript为每行展开/隐藏其下的内容 <script type="text/javascript"> $(function () { $('.requestDetails').css('display', 'none'); $('.expandResults').click(func

我有一个在更新面板和计时器中运行的Gridview。它只显示主标题和其他主要部分,然后在它下面是其余的详细信息。用户可以单击title div,并使用以下Javascript为每行展开/隐藏其下的内容

<script type="text/javascript">
    $(function () {
        $('.requestDetails').css('display', 'none');
        $('.expandResults').click(function () {
            $(this).parent().children(".requestDetails").slideToggle(500);
            $(this).toggleClass('slideSign');
            return false;
        });
    });

$(函数(){
$('.requestDetails').css('display','none');
$('.expandResults')。单击(函数(){
$(this.parent().children(“.requestDetails”).slideToggle(500);
$(this.toggleClass('slideSign');
返回false;
});
});

HTML如下所示

<asp:Timer runat="server" ID="ctlTimer" Enabled="false" Interval="5000" OnTick="OnTimerIntervalElapse"/>
                <asp:UpdateProgress ID="UpdateProgress1" runat="server" 
    AssociatedUpdatePanelID="UpdatePanel1">
            <ProgressTemplate>
            </ProgressTemplate>
        </asp:UpdateProgress>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ViewStateMode="Enabled">
<Triggers>
                <asp:AsyncPostBackTrigger ControlID="ctlTimer" EventName="Tick" />
            </Triggers>
    <ContentTemplate><asp:GridView ID="gvTasks" runat="server" AutoGenerateColumns="False" OnRowDataBound="gvTasks_RowDataBound"
            OnRowCommand="gvTasks_RowCommand" 
            OnRowCreated="gvTasks_RowCreated" CssClass="gvGridTasksActive">
            <Columns><asp:TemplateField HeaderText="Task" SortExpression="RequestSent">
                    <ItemTemplate>
                        <div class="expandResults" id="expandResults">
                            <div class="title">Title stuff..
                            </div>
                            <div class="timeStamp">Timestamp stuff..
                            </div>
                            </div>

                        <br class="clearfloat" />
                        <div class="requestDetails" id="requestDetails">
                        <br /><hr />
                            Request details stuff....</div></ItemTemplate>
                    <EditItemTemplate>

                    </EditItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>

标题材料。。
时间戳的东西。。



请求详细资料。。。。


我遇到的问题是,当页面刷新时,它会用扩展的div扩展我的所有行。是否有一种方法可以让页面自动刷新,以便我的c#可以在添加新记录时重新绑定网格,但它会记住当前扩展的内容

建议使用带有适当参数的iCallBack,异步获取修改后的数据,并在JavaScript的帮助下,在网格中追加/删除/修改该数据

您可以异步获取数据,检查每一行的更改,并相应地绑定新的HTML

发布代码将很困难