updatepanel数据绑定直到数据实际更新后大约10秒才刷新数据

时间:2014-03-13 00:30:56

标签: c# asp.net gridview data-binding updatepanel

我在UpdatePanel中使用GridView。更新数据后,单击与DataBind()绑定的刷新按钮不会更改页面上的任何内容,直到数据更新后至少10秒。以下是相关代码:

<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <div class="container-fluid">
            <asp:UpdatePanel runat="server" ID="UpdatePanel1" >

            <ContentTemplate>
                <div class="row">
                <div class="col-xs-12">  
                        <asp:Button ID="btnRefresh" runat="server" Text="Refresh"  CausesValidation="False" CssClass="btn btn-success" OnClick="btnRefresh_OnClick" /> 
                    </div>
                </div>
                <div class="row">
                    <div class="col-xs-12">
                        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowSorting="True"
                            DataKeyNames="id" DataSourceID="sqldatasource" CssClass="table table-responsive table-hover"
                            OnRowDataBound="GridView1_OnRowDataBound"
                            OnRowCommand="GridView1_OnRowCommand"
                            >
                            <Columns>
                                <asp:CommandField ShowSelectButton="True" SelectText="Open" />
                                <!-- columns -->
                            </Columns>
                        </asp:GridView>
                    </div>
                </div>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
</form>

背后的代码:

    protected void btnRefresh_OnClick(object sender, EventArgs e)
    {
        GridView1.DataBind();
    }

我在另一个页面上使用相同类型的设置而不使用UpdateMode或触发器,并且数据绑定没有问题,但这不会。

1 个答案:

答案 0 :(得分:0)

回答后代。 SQL数据源启用了缓存,因此我删除了它,数据绑定按预期正常工作。

    <asp:SqlDataSource ID="sqlInProgress" runat="server" ConnectionString="<%$ ConnectionStrings:AppConnectionString %>" EnableCaching="true"  CacheDuration="30"
                       SelectCommand =" SELECT [Order].[id] as id, [Checker], [InternalComments], [CompanyName], [ProdLine], [ProductName],[Due], [Fulfillment], [FulfillmentX], [QA],  [QAX], FROM [Order], [Companies] where [Order].[CompanyName] = [Companies].[CompanyName] and [stage] = 'In progress' order by Due" />