ASP C#UpdatePanel不更新内容

时间:2015-08-12 22:58:49

标签: c# asp.net ajax webforms updatepanel

我正在尝试更新updatepanel中webdatagrid的数据源。我可以通过计时器tick事件

来完成此操作
<asp:timer id="Timer1" runat="server" interval="10000" ontick="Timer1_Tick"></asp:timer>
<asp:updatepanel id="UpdatePanel1" runat="server">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick"/>
    </Triggers>
    <ContentTemplate>
        <ig:WebDataGrid ID="WebDataGrid" runat="server" AutoGenerateColumns="false" >
        </ig:WebDataGrid>
    </ContentTemplate>
</asp:updatepanel>

使用Tick事件处理程序

protected void Timer1_Tick(object sender, EventArgs e)
{
    WebDataGrid.DataSource = *a datatable*;
    WebDataGrid.DataBind();
}

但是,现在当我尝试做同样的事情而不是使用计时器时,使用WebDataGridMain_RowSelectionChanged事件而不是webdatagrid不更新。我相信新的数据源值仍然被发送到客户端,但UpdatePanel似乎没有更新视图。

<ig:WebDataGrid ID="WebDataGridMain" runat="server" AutoGenerateColumns="False" OnRowSelectionChanged="WebDataGridMain_RowSelectionChanged">
    <ClientEvents AJAXResponse="AJAXResponseHandler" />
</ig:WebDataGrid>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="WebDataGridMain" EventName="RowSelectionChanged"/>
    </Triggers>
    <ContentTemplate>
        <ig:WebDataGrid ID="WebDataGridDetail" runat="server" AutoGenerateColumns="false">
            </ig:WebDataGrid>
    </ContentTemplate>
</asp:UpdatePanel>

使用下面类似的事件处理程序代码

protected void WebDataGridMain_RowSelectionChanged(object sender, Infragistics.Web.UI.GridControls.SelectedRowEventArgs e)
{
    WebDataGridDetail.DataSource = *a datatable*;
    WebDataGridDetail.DataBind();
}

除了事件触发器的类型之外,这两者之间似乎没有任何区别。我应该更改哪些内容,以便UpdatePanel适用于RowSelectionChanged事件?

0 个答案:

没有答案