Using RadGrid in version 2010.1.309 or 2010.1.329 and .NET 4.0:
Receive a JS Error when attempting to submit a column filter when using a MasterPage and AjaxManager with the RadGrid. Removing AjaxManager or MasterPage features fixes problem.
JS Error:
Message: 'get_postBackElement().id' is null or not an object
Line: 9239
Char: 1
Code: 0
URI: http://localhost:35519/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ContentPlaceHolder1_RadScriptManager1_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3a00000000-0000-0000-0000-000000000000%3aea597d4b%3ab25378d2%3bTelerik.Web.UI%3aen-US%3ab5c33bd3-ea2e-4bfa-bdd0-3d7cef59d2be%3a16e4e7cd%3af7645509%3a22a6274a%3a58366029%3a24ee1bba%3ae330518b%3a1e771326%3ac8618e41%3ae4f8f289%3aed16cbdc
To Recreate...
Site1.Master
WebForm2.aspx
WebForm2.aspx.cs
Receive a JS Error when attempting to submit a column filter when using a MasterPage and AjaxManager with the RadGrid. Removing AjaxManager or MasterPage features fixes problem.
JS Error:
Message: 'get_postBackElement().id' is null or not an object
Line: 9239
Char: 1
Code: 0
URI: http://localhost:35519/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ContentPlaceHolder1_RadScriptManager1_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3a00000000-0000-0000-0000-000000000000%3aea597d4b%3ab25378d2%3bTelerik.Web.UI%3aen-US%3ab5c33bd3-ea2e-4bfa-bdd0-3d7cef59d2be%3a16e4e7cd%3af7645509%3a22a6274a%3a58366029%3a24ee1bba%3ae330518b%3a1e771326%3ac8618e41%3ae4f8f289%3aed16cbdc
To Recreate...
Site1.Master
| <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="RadGridAjaxFilterError.Site1" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head runat="server"></head> |
| <body> |
| <form id="form1" runat="server"> |
| <div> |
| <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> |
| </asp:ContentPlaceHolder> |
| </div> |
| </form> |
| </body> |
| </html> |
WebForm2.aspx
| <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="RadGridAjaxFilterError.WebForm2" MasterPageFile="~/Site1.Master" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> |
| <Scripts> |
| <%--Needed for JavaScript IntelliSense in VS2010--%> |
| <%--For VS2008 replace RadScriptManager with ScriptManager--%> |
| <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" /> |
| <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" /> |
| <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" /> |
| </Scripts> |
| </telerik:RadScriptManager> |
| With Master Page, No RadAjaxManager, Filter works: |
| <telerik:RadGrid ID="RadGrid1" runat="server" AllowFilteringByColumn="True" OnNeedDataSource="RadGrid1_NeedDataSource" AutoGenerateColumns="false" Width="200"> |
| <MasterTableView> |
| <Columns> |
| <telerik:GridBoundColumn DataField="Field1" AutoPostBackOnFilter="True"> |
| </telerik:GridBoundColumn> |
| </Columns> |
| </MasterTableView> |
| </telerik:RadGrid> |
| <br /> |
| <span style="color:#A00">With Master Page, With RadAjaxManager, Filter does NOT work (JS error):</span> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadGrid2"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="RadAjaxLoadingPanel1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default"> |
| </telerik:RadAjaxLoadingPanel> |
| <telerik:RadGrid ID="RadGrid2" runat="server" AllowFilteringByColumn="True" OnNeedDataSource="RadGrid1_NeedDataSource" AutoGenerateColumns="false" Width="200"> |
| <MasterTableView> |
| <Columns> |
| <telerik:GridBoundColumn DataField="Field1" AutoPostBackOnFilter="True"> |
| </telerik:GridBoundColumn> |
| </Columns> |
| </MasterTableView> |
| </telerik:RadGrid> |
| </asp:Content> |
WebForm2.aspx.cs
| using System; |
| using System.Collections.Generic; |
| using System.Linq; |
| using System.Web; |
| using System.Web.UI; |
| using System.Web.UI.WebControls; |
| using System.Data; |
| using Telerik.Web.UI; |
| namespace RadGridAjaxFilterError |
| { |
| public partial class WebForm2 : System.Web.UI.Page |
| { |
| protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e) |
| { |
| RadGrid grid = (RadGrid)source; |
| DataTable t = new DataTable(); |
| t.Columns.Add("Field1"); |
| t.Rows.Add("111"); |
| t.Rows.Add("222"); |
| t.Rows.Add("333"); |
| t.Rows.Add("444"); |
| grid.DataSource = t; |
| } |
| } |
| } |