Skip to main content
 首页 » 编程设计

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

2024年01月02日45TianFang

当搜索按钮被触发时,我希望在不刷新页面的情况下重新启动网格 我用过 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> 

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

米兰门德帕拉

请您参考如下方法:

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

<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 
    }     
 
}