使用ajax通过外部控件更新Telerik RadGrid

时间:2012-01-21 09:42:53

标签: c# asp.net asp.net-ajax telerik-grid

我希望在搜索按钮被触发时没有刷新页面的情况下反弹网格 我使用过PostBackTrigger,但它不适用于我

这是我的code.aspx

的一部分
<telerik:RadScriptManager ID="RadScriptManager1" runat="server" />

<asp:TextBox runat="server" ID="txtSearch"/>
<asp:Button Text="Search" runat="server" ID="btnSearch" OnClick="btnSearch_Click" />

<asp:UpdatePanel runat="server" ID="pnlUpdate">
<ContentTemplate>
  <rad:RadGrid id="RadGrid1" runat="server" EnableAJAX="True">
   <MasterTableView AutoGenerateColumns="False">
    <Columns>
     <rad:GridBoundColumn HeaderText="CustomerID" DataField="CustomerID"
      UniqueName= "CustomerID"></rad:GridBoundColumn>
     <rad:GridBoundColumn HeaderText="ContactName" DataField="ContactName"
      UniqueName= "ContactName"></rad:GridBoundColumn>
    </Columns>
   </MasterTableView>
 </rad:RadGrid>
</ContentTemplate>
    <Triggers>
        <asp:PostBackTrigger ControlID="btnSearch" />
    </Triggers>
</asp:UpdatePanel>

所以有什么技巧可以解决这个问题吗? 感谢所有

Milan Mendpara

1 个答案:

答案 0 :(得分:0)

您没有为任何按钮单击“EventHandlers”按钮的OnClick或OnCommand。确保您没有无条件地在Page_Load或Page_Init事件中绑定数据,检查页面是否处理回发。

<asp:Button Text="Search" OnClick="btnSearch_Click" runat="server" ID="btnSearch" />

// Change <asp:PostBackTrigger ControlID="btnSearch" />
<asp:AsyncPostBackTrigger ControlID="btnSearch" />

// Code Behind EventHandler
protected void btnSearch_Click(object sender, EventArgs e)
{
    // Retrieve and Bind Search Data to RadGrid1
    // You must Bind or Rebind the Datasource to the RadGrid control using the Bind() or Rebind() methods.
 }


// Check Databind is conditional if required
protected void Page_Load(object sender, EventArgs e)
{
    If (!Page.IsPostBack)
    {
        // Bind Data if required
    }    

}