or

| <tlk:RadAjaxPanel ID="AjaxPnl" runat="server" LoadingPanelID="oAjaxPanel" |
| OnAjaxRequest="AjaxPnlRequest"> |
| <tlk:RadComboBox ID="oModCombo" runat="server" MarkFirstMatch="true" style="margin-top:5px; float:right; margin-right:5px;" |
| EmptyMessage="Choisir un groupe..." AllowCustomText="true" |
| OnClientSelectedIndexChanged="oGroupModSelectedIndexChanged" |
| OnClientTextChange="oGroupModTextChange" /> |
| <tlk:RadGrid ID="modgrid" runat="server" OnNeedDataSource="modgrid_OnNeedDataSource" |
| Height="215" Width="95%" style="margin-top:30px;margin-left:5px;" |
| AutoGenerateColumns="false" AllowMultiRowSelection="true" > |
| <MasterTableView > |
| <Columns> |
| <tlk:GridBoundColumn DataField="id" Visible="false"/> |
| <tlk:GridBoundColumn AllowSorting="true" HeaderText="Modalités" DataField="mod"> |
| </tlk:GridBoundColumn> |
| <tlk:GridBoundColumn AllowSorting="true" HeaderText="Status" DataField="status"> |
| <HeaderStyle Width="150" /> |
| </tlk:GridBoundColumn> |
| <tlk:GridBoundColumn DataField="gpvalue" ReadOnly="true" Display="false"> |
| <HeaderStyle Width="0" /> |
| <ItemStyle ForeColor="White" Width="0"/> |
| </tlk:GridBoundColumn> |
| </Columns> |
| </MasterTableView> |
| <ClientSettings > |
| <Scrolling AllowScroll="true" UseStaticHeaders="true" /> |
| <Selecting AllowRowSelect="true" EnableDragToSelectRows="true" /> |
| <ClientEvents OnRowSelected="ModalitiesSelected" OnRowDeselected="ModalitiesDeselected" /> |
| </ClientSettings> |
| </tlk:RadGrid> |
| </tlk:RadAjaxPanel> |
| <tlk:RadCodeBlock runat="server" ID="rcb2"> |
| <script type="text/javascript" language="javascript"> |
| function AjaxPnlRequest(requestName) |
| { |
| var manager = <%= AjaxPnl.ClientID %>; |
| manager.ajaxRequest(requestName); |
| } |
| </script> |
| </tlk:RadCodeBlock> |
| var bNotPostback = true; |
| var bAllEquals = true; |
| var sValue = null; |
| var iHandled = -1; |
| var bMade = false; |
| function ModalitiesSelected() { |
| var grid = $find("<%=modgrid.ClientID %>"); |
| var MasterTable = grid.get_masterTableView(); |
| var selectedRows = MasterTable.get_selectedItems(); |
| //alert(iHandled + " " + selectedRows.length); |
| if (selectedRows.length == 1) { |
| bAllEquals = true; |
| iHandled = 1;bMade = false; |
| sValue = MasterTable.getCellByColumnUniqueName(selectedRows[0], "gpvalue").innerHTML; |
| } |
| else { |
| var row = selectedRows[selectedRows.length - 1]; |
| bMade = false; |
| var cell = MasterTable.getCellByColumnUniqueName(row, "gpvalue"); |
| bAllEquals = (sValue == cell.innerHTML); |
| iHandled += 1; |
| } |
| window.setTimeout(function() { setCombo(); }, 500); |
| } |
| function ModalitiesDeselected() { |
| var grid = $find("<%=modgrid.ClientID %>"); |
| var MasterTable = grid.get_masterTableView(); |
| var selectedRows = MasterTable.get_selectedItems(); |
| iHandled = selectedRows.length; |
| if (iHandled > 0) { |
| bMade = false; |
| bAllEquals = true; |
| sValue = MasterTable.getCellByColumnUniqueName(selectedRows[0], "gpvalue").innerHTML; |
| var i = 1; |
| while ((i < iHandled) && bAllEquals) { |
| var cell = MasterTable.getCellByColumnUniqueName(selectedRows[i], "gpvalue"); |
| bAllEquals = (sValue == cell.innerHTML); |
| i++; |
| } |
| setCombo(); |
| } |
| else { |
| var oCombo = $find("<%=oModCombo.ClientID %>"); |
| oCombo.clearSelection(); |
| oCombo.disable(); |
| oCombo.set_emptyMessage(oCombo.get_emptyMessage()); |
| } |
| } |
| function setCombo() { |
| var grid = $find("<%=modgrid.ClientID %>"); |
| var MasterTable = grid.get_masterTableView(); |
| var selectedRows = MasterTable.get_selectedItems(); |
| if ((iHandled == selectedRows.length) && (bMade == false)) { |
| //alert("setCombo " + iHandled + " " + selectedRows.length); |
| bNotPostback = true;bMade = true; |
| var oCombo = $find("<%=oModCombo.ClientID %>"); |
| oCombo.clearSelection(); |
| oCombo.enable(); |
| if (bAllEquals) { |
| var item = oCombo.findItemByValue(sValue); |
| if (item) item.select(); |
| } |
| else { |
| oCombo.set_emptyMessage(oCombo.get_emptyMessage()); |
| //oCombo.set_text(oCombo.get_emptyMessage()); |
| } |
| } |
| } |
| function oGroupModSelectedIndexChanged(sender, args) { |
| if (bNotPostback) bNotPostback = false; |
| else { |
| var sArg = "oModCombo;"; |
| var item = args.get_item(); |
| sArg += item.get_text() + ";" + item.get_value(); |
| AjaxPnlRequest(sArg); |
| } |
| } |
| function oGroupModTextChange(sender, args) { |
| var sArg = "oModCombo;"; |
| sArg += sender.get_text() + "; "; |
| AjaxPnlRequest(sArg); |
| } |

| <asp:SqlDataSource ID="SqlDataSource1" runat="server" |
| ConnectionString="<%$ ConnectionStrings:TestMangerConnectionString %>" |
| SelectCommand="SELECT Component_Table.Component as Component,Bug_Count_Bucket_Wise.E2ECount_Total as Total,Bug_Count_Bucket_Wise.E2ECount_Active as Active,Bug_Count_Bucket_Wise.E2ECount_Closed as Fixed,Bug_Count_Bucket_Wise.E2ECount_Resolved as Resolved,Track_Table.ETA as ETA,Track_Table.Comments as Comments |
| FROM Bug_Count_Bucket_Wise,Component_Table,Track_Table,Type_of_Bucket,TL_Details,TM_Details |
| WHERE |
| Component_Table.CompID=Bug_Count_Bucket_Wise.CompID |
| AND Bug_Count_Bucket_Wise.CompID=Track_Table.CompID |
| AND TM_Details.TMID = TL_Details.TMID |
| AND TL_Details.ID=Component_Table.TLID |
| AND Type_of_Bucket.ID = Track_Table.BucketID |
| AND TM_Details.TMAlias=@TM |
| AND Type_of_Bucket.Type= 'AHI'" |
| UpdateCommand="UPDATE Track_Table |
| SET Track_Table.ETA = @ETA,Track_Table.Comments= @comments,Track_Table.Modified_Date= @CurrentTime,Track_Table.Edit_Alias=@LoginUser |
| FROM Bug_Count_Bucket_Wise,Component_Table,Track_Table,Type_of_Bucket,TL_Details,TM_Details |
| WHERE |
| Component_Table.CompID=Bug_Count_Bucket_Wise.CompID |
| AND Bug_Count_Bucket_Wise.CompID=Track_Table.CompID |
| AND TM_Details.TMID = TL_Details.TMID |
| AND TL_Details.ID=Component_Table.TLID |
| AND Type_of_Bucket.ID = Track_Table.BucketID |
| AND TM_Details.TMAlias=@TM |
| AND Type_of_Bucket.Type= 'AHI' |
| AND Component_Table.Component = ??????"> |
| <SelectParameters> |
| <asp:CookieParameter CookieName="TM" Name="TM" Type="String" DbType="Object" /> |
| </SelectParameters> |
| <UpdateParameters> |
| <asp:Parameter Name="ETA" Type="DateTime" /> |
| <asp:Parameter Name="Comments" Type="String" /> |
| <asp:CookieParameter CookieName="CurrentTime" Name="CurrentTime" Type="DateTime" DbType="Object" /> |
| <asp:CookieParameter CookieName="LoginUser" Name="LoginUser" Type="String" DbType="Object" /> |
| <asp:CookieParameter CookieName="TM" Name="TM" Type="String" DbType="Object" /> |
| <asp:Parameter Name="Component" Type="String" /> |
| </UpdateParameters> |
| </asp:SqlDataSource> |
Hi
To simplify, I have on a page RadAjaxPanel with RadGrid inside (Rad controls for asp.net ajax Q1 2009); everything is fine till I'm placing an ajax request - refreshing the grid - then I get this error:
Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request.
Global.asax code:
| void Application_Start(object sender, EventArgs e) |
| { |
| RegisterRoutes(RouteTable.Routes); |
| } |
| public static void RegisterRoutes(RouteCollection Routes) |
| { |
| Routes.Add(new Route("{resource}.axd/{*pathInfo}", new StopRoutingHandler())); |
| var routeHandler = new WebFormRouteHandler<Page>("~/Desktop/Default.aspx"); |
| Routes.Add(new Route("pg/{page}", routeHandler)); |
| } |
| public class WebFormRouteHandler<T> : IRouteHandler where T : IHttpHandler, new() |
| { |
| public string VirtualPath { get; set; } |
| public WebFormRouteHandler(string virtualPath) |
| { |
| this.VirtualPath = virtualPath; |
| } |
| #region IRouteHandler Members |
| public IHttpHandler GetHttpHandler(RequestContext requestContext) |
| { |
| string pageName |
| = requestContext.RouteData.GetRequiredString("page"); |
| if (!pageName.Contains(".axd") && pageName.Contains(".aspx")) |
| { |
| pageNamepageName = pageName.Replace(".aspx", ""); |
| string virtualPath |
| = ObjectContentValidator.StringIsNullOrEmpty(pageName) |
| ? "~/desktop/default.aspx" |
| : string.Format("~/desktop/default.aspx?page={0}", pageName); |
| HttpContext.Current.RewritePath(virtualPath, false); |
| return (T)BuildManager.CreateInstanceFromVirtualPath(VirtualPath, typeof(T)); |
| } |
| else |
| return (VirtualPath != null) |
| ? (IHttpHandler)BuildManager.CreateInstanceFromVirtualPath(VirtualPath, typeof(T)) |
| : new T(); |
| } |
| #endregion |
| } |
| <html xmlns="http://www.w3.org/1999/xhtml" > |
| <head runat="server"> |
| <title></title> |
| <script type="text/javascript"> |
| function OpenWindow(url) { |
| var oWnd = window.radopen(url, 'DefaultWindow'); |
| } |
| </script> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager> |
| <telerik:RadWindowManager ID="RadWindowManager1" runat="server" Overlay="true"> |
| <Windows> |
| <telerik:RadWindow Skin="Default" ID="DefaultWindow" runat="server" Title="" Height="650px" |
| Width="800px" Left="150px" ReloadOnShow="true" ShowContentDuringLoad="false" VisibleStatusbar="false" Modal="false" Overlay="True" /> |
| </Windows> |
| </telerik:RadWindowManager> |
| <div> |
| <telerik:RadMenu ID="RadMenu1" runat="server"> |
| <Items> |
| <telerik:RadMenuItem Text="test"></telerik:RadMenuItem> |
| <telerik:RadMenuItem Text="test2"></telerik:RadMenuItem> |
| </Items> |
| </telerik:RadMenu> |
| </div> |
| <p><input id="Button1" type="button" value="open win" onclick="OpenWindow('/test.htm');" /></p> |
| </form> |
| </body> |
| </html> |
| <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %> <%@ Import Namespace="MvcApplication5.Controllers" %> <asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server"> Home Page </asp:Content> <asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server"> <h2> <%= Html.Encode(ViewData["Message"]) %></h2> <p> To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website"> http://asp.net/mvc</a>. </p> <% using (Ajax.BeginForm("Partial", new AjaxOptions() { UpdateTargetId = "contentWrapper" })) { %> <div id="contentWrapper"> <%Html.RenderPartial("RadDatePickerView");%> </div> <input type="submit" /> <%} %> </asp:Content> |
| <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> <%@ Import Namespace="Telerik.Web.Mvc" %> <%= Html.RenderRadDatePicker(control => { control.Calendar.Width = Unit.Pixel(250); control.DbSelectedDate = DateTime.Now; },"Hay")%> |