This is a migrated thread and some comments may be shown as answers.

Duplicate RadGrid

1 Answer 218 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Andrey
Top achievements
Rank 1
Andrey asked on 16 Dec 2011, 08:21 PM
Hello,

I am very new to ASP.Net, and I'm sure that my problem has more to do with how I implemented the updatepanel, rather than how I implemented the grid.

I have a page with two UpdatePanels. The first holds a bunch of dropdowns that get changed whenever a selection is changed. The second UpdatePanel holds a button and a RadGrid. When someone hits the button, the server is supposed to perform a query and update the grid's databinding.

Instead, when I hit the button, a second identical grid appears right next to the first one. The original grid gets the data, and the duplicate grid has no data. If I hit the button again, I get the error, "Uncaught Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: Invalid JSON primitive: ." Telerik.Web.UI.WebResource.axd:15
aspx:
<%@ Page Title="Find Location" Language="C#" MasterPageFile="~/Site.Master"
    AutoEventWireup="true" CodeBehind="FindLocation.aspx.cs" Inherits="Project1.FindLocation" %>
 <br>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %><br>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Charting" Assembly="Telerik.Web.UI" %><br>
<asp:Content ID="HeadContent" ContentPlaceHolderID="HeadContentPH" runat="server"><br>
</asp:Content><br>
<asp:Content ID="MainContent" ContentPlaceHolderID="MainContentPH" runat="server"><br>
    <div style="float: left; padding: 15px;"><br>
        <h2><br>
            Find Location</h2><br>
        <asp:UpdatePanel ID="FindLocationUpdatePnl" runat="server" UpdateMode="Conditional"><br>
            <ContentTemplate><br>
                <table><br>
                    <tr><br>
                        <td><br>
                            <fieldset><br>
                                <legend>General</legend><br>
                                <table width="100%"><br>
                                    <tr><br>
                                        <td><br>
                                            Custom Identifier<br>
                                        </td><br>
                                        <td><br>
                                            <telerik:RadTextBox ID="m_oCustomIdTextBox" runat="server"><br>
                                            </telerik:RadTextBox><br>
                                        </td><br>
                                    </tr><br>
                                    <tr><br>
                                        <td><br>
                                            Owned by<br>
                                        </td><br>
                                        <td><br>
                                            <telerik:RadComboBox ID="m_oOwnedByComboBox" runat="server" AutoPostBack="false"<br>
                                                EnableViewState="true"><br>
                                            </telerik:RadComboBox><br>
                                        </td><br>
                                    </tr><br>
                                    <tr><br>
                                        <td><br>
                                            Maintained by<br>
                                        </td><br>
                                        <td><br>
                                            <telerik:RadComboBox ID="m_oMaintainedByComboBox" runat="server" OnSelectedIndexChanged="MaintainedByChanged"<br>
                                                EnableViewState="true" AutoPostBack="true"><br>
                                            </telerik:RadComboBox><br>
                                        </td><br>
                                    </tr><br>
                                </table><br>
                            </fieldset><br>
                        </td><br>
                        <td><br>
                            <fieldset><br>
                                <legend>Has Route</legend><br>
                                <table width="100%"><br>
                                    <tr><br>
                                        <td><br>
                                            Type<br>
                                        </td><br>
                                        <td><br>
                                            <telerik:RadComboBox ID="m_oHasRouteTypeComboBox" runat="server" AutoPostBack="true"<br>
                                                EnableViewState="true" /><br>
                                        </td><br>
                                    </tr><br>
                                    <tr><br>
                                        <td><br>
                                            Name or Number<br>
                                        </td><br>
                                        <td><br>
                                            <telerik:RadComboBox ID="m_oNameOrNumber1" runat="server" AutoPostBack="true" EnableViewState="true" /><br>
                                        </td><br>
                                    </tr><br>
                                </table><br>
                            </fieldset><br>
                        </td><br>
                    </tr><br>
                    <tr><br>
                        <td><br>
                            <fieldset><br>
                                <legend>Region</legend><br>
                                <table width="100%"><br>
                                    <tr><br>
                                        <td><br>
                                            County<br>
                                        </td><br>
                                        <td><br>
                                            <telerik:RadComboBox ID="m_oCountyComboBox" runat="server" OnSelectedIndexChanged="CountyChanged"<br>
                                                AutoPostBack="true" EnableViewState="true" /><br>
                                        </td><br>
                                    </tr><br>
                                    <tr><br>
                                        <td><br>
                                            City<br>
                                        </td><br>
                                        <td><br>
                                            <telerik:RadComboBox ID="m_oCityComboBox" runat="server" OnSelectedIndexChanged="CityChanged"<br>
                                                AutoPostBack="true" EnableViewState="true" /><br>
                                        </td><br>
                                    </tr><br>
                                    <tr><br>
                                        <td><br>
                                            &nbsp;<br>
                                        </td><br>
                                    </tr><br>
                                </table><br>
                            </fieldset><br>
                        </td><br>
                        <td><br>
                            <fieldset><br>
                                <legend>And Has Route</legend><br>
                                <table width="100%"><br>
                                    <tr><br>
                                        <td><br>
                                            Type<br>
                                        </td><br>
                                        <td><br>
                                            <telerik:RadComboBox ID="m_oAndHasRouteTypeComboBox" runat="server" AutoPostBack="true"<br>
                                                EnableViewState="true" /><br>
                                        </td><br>
                                    </tr><br>
                                    <tr><br>
                                        <td><br>
                                            Name or Number<br>
                                        </td><br>
                                        <td><br>
                                            <telerik:RadComboBox ID="m_oNameOrNumber2" runat="server" AutoPostBack="true" EnableViewState="true" /><br>
                                        </td><br>
                                    </tr><br>
                                </table><br>
                            </fieldset><br>
                        </td><br>
                    </tr><br>
                </table><br>
            </ContentTemplate><br>
        </asp:UpdatePanel><br>
        <!-- Buttons --><br>
        <asp:UpdatePanel runat="server" UpdateMode="Conditional"><br>
            <ContentTemplate><br>
                <div><br>
                    <telerik:RadButton ID="m_oSearchBtn" runat="server" Text="Search" OnClick="FindLocations" /><br>
                </div><br>
                </div><br>
                <div style="float: left; padding: 15px;"><br>
                    <telerik:RadGrid ID="m_oRadGrid" AllowPaging="true" PageSize="3" runat="server" AutoGenerateColumns="False"<br>
                        DataSourceID="m_oFoundLocationsSource" HorizontalAlign="NotSet"><br>
                        <MasterTableView DataSourceID="m_oFoundLocationsSource"><br>
                            <Columns><br>
                                <telerik:GridBoundColumn DataField="CustomIdentifier" HeaderText="Custom Identifier"<br>
                                    DataType="System.String" UniqueName="CustomIdentifier"><br>
                                </telerik:GridBoundColumn><br>
                            </Columns><br>
                        </MasterTableView><br>
                    </telerik:RadGrid><br>
            </ContentTemplate><br>
        </asp:UpdatePanel><br>
        <asp:ObjectDataSource ID="m_oFoundLocationsSource" runat="server" SelectMethod="GetFoundLocations"<br>
            EnablePaging="true" StartRowIndexParameterName="iStartRecord" MaximumRowsParameterName="iMaxRecords"<br>
            SortParameterName="sSortColumns" DataObjectTypeName="PersistenceLayer.Location"<br>
            TypeName="Project1.FindLocation" OldValuesParameterFormatString="original_{0}"></asp:ObjectDataSource><br>
    </div><br>
</asp:Content>


cs file:
using System;<br>
using System.Collections.Generic;<br>
using System.Linq;
using System.Web;
using System.Web.UI;<br>
using System.Web.UI.WebControls;<br>
using PersistenceLayer;<br>
using Project1.Helpers;<br>
using <font style="font-size: 14px; ">Project1</font>.Cache;<br>
using System.Collections.ObjectModel;<br>
using Telerik.Web.UI;<br>
<br>
<br>
namespace Project1<br>
{<br>
    public partial class FindLocation : System.Web.UI.Page<br>
    {<br>
        #region Event Handlers<br>
<br>
<br>
        #region Page Init<br>
<br>
<br>
        protected void Page_Load(object sender, EventArgs e)<br>
        {<br>
            if (IsPostBack == false)<br>
            {<br>
<font class="Apple-tab-span" style="white-space: pre; ">                </font>//initialize drop down content<br>
            }<br>
        }<br>
<br>
<br>
        #endregion<br>
<br>
<br>
        #region Filter Logic<br>
<br>
<br>
        protected void MaintainedByChanged(object sender, EventArgs e)<br>
        {<br>
            //change dropdown content<br>
        }<br>
<br>
<br>
        protected void CountyChanged(object sender, EventArgs e)<br>
        {<br>
            //change dropdown content<br>
        }<br>
<br>
<br>
        protected void CityChanged(object sender, EventArgs e)<br>
        {<br>
            //change dropdown content<br>
        }<br>
<br>
<br>
        protected void FindLocations(object sender, EventArgs e)<br>
        {<br>
<font class="Apple-tab-span" style="white-space: pre; ">            </font>//get data from drop downs<br>
            ServerSessionCache.FoundLocations = PerformSearch(sCustomId, gOwnedById, gMaintainedById, gCountyId, gCityId);<br>
            m_oRadGrid.Rebind();<br>
        }<br>
<br>
<br>
        #endregion<br>
<br>
<br>
        #region RadGrid Logic<br>
<br>
<br>
        public static IList<Location> GetFoundLocations(string sSortColumns, int iMaxRecords, int iStartRecord)<br>
        {<br>
            return ServerSessionCache.FoundLocations;<br>
        }<br>
<br>
<br>
        #endregion<br>
<br>
<br>
        #endregion<br>
<br>
<br>
        #region Methods<br>
<br>
<br>
        public IList<Location> PerformSearch(string sCustomId, Guid gOwnedById, Guid gMaintainedById, Guid gCountyId, Guid gCityId)<br>
        {<br>
            //use data to perform query, store in oLocations<br>
<br>
<br>
            return oLocations;<br>
        }<br>
<br>
<br>
        #endregion<br>
    }<br>
}

1 Answer, 1 is accepted

Sort by
0
Richard
Top achievements
Rank 1
answered on 19 Dec 2011, 09:57 PM
Andrey:

Your code is difficult to read. In the future, when you add a code snippet in the "Format Code Block: tool, be sure to set the "Select Language" droplist to the correct code type. It will avoid all the confusing and unnecessary HTML markup.

Your update panel is causing the second instance of the RadGrid to get created with the update. Have you tried the button and RadGrid without wrapping them inside the panel? What benefit does the UpdatePanel provide here?

Cheers!
Tags
Grid
Asked by
Andrey
Top achievements
Rank 1
Answers by
Richard
Top achievements
Rank 1
Share this question
or