((RadTreeNode)CriteriaTree.FindNodeByValue("20")).Text = "Node Text";
Hi,
I've used radrotator to display some products. Below is the code sample, there are current two problems I'm facing (as listed below)
I'm showing the product description when either user selects the radrotatoritem or when user clicks on the ControlButtons.
1)If I toggle between either of this option I get an error (error screenshot attached)
2)If I toggle between either of this option the product description is shown incorrectly for a product which i've not selected at all. This happens when i toggle between the ControlButtons and clicking on the products themselves.
3) Sometimes I get this error like the below one
A]System.Collections.Generic.List`1[SelectProducts+fileInfo] cannot be cast to [B]System.Collections.Generic.List`1[SelectProducts+fileInfo]. Type A originates from 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' in the context 'LoadNeither' at location 'C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'. Type B originates from 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' in the context 'LoadNeither' at location 'C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'.
Could you please help me resolve these issues? Thanks
private List<fileInfo> imagesArray
{
//Error #3 is thrown here.
get { return (List<fileInfo>)ViewState["imagesArray"]; }
set { ViewState["imagesArray"] = value; }
}
<%@ Page Title="" Language="C#" AutoEventWireup="true" CodeFile="SelectProducts.aspx.cs" Inherits="SelectProducts" %> <%@ 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> <telerik:RadScriptBlock ID="as" runat="server"> <script type="text/javascript"> function OnClientItemClicked(sender, args) { sender.set_currentItemIndex(args.get_item().get_index(), true); var objArgs = sender.get_currentItem().get_index(); $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest(objArgs); } function OnClientButtonClick(sender, args) { var objArgs = sender.get_currentItem().get_index(); $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest(objArgs); } function ShowDescription(sender, args) { } </script> </telerik:RadScriptBlock> <title>Vitti Login</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="shortcut icon" type="image/ico" href="Themes/Default/Images/Icons/icon_fav.ico" /> <link id="Link1" rel="stylesheet" type="text/css" runat="server" href="Themes/Default/Stylesheet/base.css" media="all" /> <style type="text/css"> .rotatorBackground { margin: 0 auto; width: 800px; height: 400px; -moz-border-radius: 15px; -webkit-border-radius: 15px; } .rotNoButtonsBack { width: 810px; background:url(../Images/Backgrounds/bg_Products.jpg); background-repeat: no-repeat; } .rotatorStyle { margin: 40px auto 0px; } .rotatorStyle .RotatorItem { margin: 5px; height: 100px; width: 100px; } .rotatorCarouselStyle { margin: 0px auto; } .RotatorItem { border: solid 0px #666666 !important; } .mainDiv { margin-bottom: 20px; } .configurationPanel { width: 290px; border: 0px; } </style> </head> <body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="300"> </asp:ScriptManager> <telerik:RadWindowManager Skin="Default" ID="RadWindowManager2" ShowContentDuringLoad="false" Modal="true" IconUrl="" VisibleStatusbar="false" ReloadOnShow="true" Behavior="Move,Close" DestroyOnClose="true" runat="server" Width="310"> </telerik:RadWindowManager> <telerik:RadAjaxManager ID="RadAjaxManager1" OnAjaxRequest="RadAjaxManager1_AjaxRequest" runat="server" DefaultLoadingPanelID="LoadingPanel1"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="radRotProducts"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="detailsPanel" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="chkRotationType"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="radRotProducts" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="detailsPanel" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Transparency="30" EnableSkinTransparency="false" BackColor="#E0E0E0"> </telerik:RadAjaxLoadingPanel> <div id="container"> <!-- banner starts --> <div style="float: right; height: 30px; padding-right: 5px"> <telerik:RadMenu Visible="false" ID="RadMenu2" runat="server" EnableRoundedCorners="true" EnableShadows="true" Skin="Windows7"> <Items> <telerik:RadMenuItem Text="About Us" AccessKey="A" Value="1"> </telerik:RadMenuItem> <telerik:RadMenuItem IsSeparator="True" Visible="true" /> <telerik:RadMenuItem Text="Contact Us" AccessKey="C" Value="132"> </telerik:RadMenuItem> </Items> </telerik:RadMenu> </div> <div id="header_home"> <div id="logo"> </div> <div id="app_title" style="visibility: hidden"> </div> <div id="client_logo"> <asp:Image ID="imgCompanyLogo" runat="server" Height="36px" /> </div> </div> <div style="clear: both"> </div> <!-- banner ends --> <!-- menu starts --> <div> <table cellpadding="0" cellspacing="0" border="0" width="100%"> <tr> <td id="menubar_left"> </td> <td id="menubar_middle"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td style="padding-top: 1px" align="right"> <asp:CheckBox AutoPostBack="true" ID="chkRotationType" Text="Automatic" runat="server" Checked="true" OnCheckedChanged="chkRotationType_CheckedChanged" /> </td> </tr> </table> </td> <td id="menubar_right"> </td> </tr> </table> </div> <!-- menu ends --> <!-- body starts --> <div> <table cellpadding="0" cellspacing="0" border="0" width="100%"> <tr> <td id="bg_background_left"> </td> <td id="bg_background_middle"> <div> <telerik:RadAjaxPanel ID="AjaxPanel1" CssClass="rotNoButtonsBack" runat="server" LoadingPanelID="LoadingPanel1"> <div class="mainDiv"> <div class="rotatorBackground"> <%-- ItemWidth and ItemHeight include 2x5(pixels) margin and 1x2(pixels) border --%> <telerik:RadRotator ID="radRotProducts" RotatorType="CarouselButtons" runat="server" OnClientItemClicking ="OnClientItemClicked" EnableRandomOrder="true" PauseOnMouseOver="false" Width="800px" Height="400px" CssClass="rotatorCarouselStyle" ItemHeight="200" FrameDuration="2000" ItemWidth="300" ScrollDuration="500"> <ItemTemplate> <asp:Image runat="server" ID="imgProduct" ImageUrl='<%#DataBinder.Eval(Container.DataItem,"Image")%>' CssClass="RotatorItem" /> </ItemTemplate> <ControlButtons OnClientButtonClick ="OnClientButtonClick" /> </telerik:RadRotator> </div> </div> </telerik:RadAjaxPanel> <table border="0" cellpadding="3" cellspacing="2" width="750px" align="center" style="background-color: #f9f9f9; border: 1px #f1f1f1 solid;"> <tr> <td class="infoPane"> <div class="infoPaneBg" runat="server" id="detailsPanel"> <div class="imageDetailsHeader"> Image details:</div> <div id="viewPanel"> <div class="details"> <strong>Name:</strong> <asp:Label ID="labelImageName" runat="server"></asp:Label></div> <div class="details"> <strong>Keywords:</strong> <asp:Label ID="labelImageKeywords" runat="server"></asp:Label></div> <div class="details"> <strong>Comments:</strong> <asp:Label ID="labelImageComments" runat="server"></asp:Label></div> </div> </div> </td> </tr> </table> <br /> </div> </td> <td id="bg_background_right"> </td> </tr> </table> </div> <!-- body ends --> <!-- footer starts --> <div id="footer"> <div style="float: right; padding-top: 3px; padding-right: 10px"> <a href="http://www.xyz.com" title="xyzxyzHome"> <img src="Themes/Default/Images/Logos/logo_xyz.png" alt="xyz" border="0" /></a> </div> <div id="sub-footer"> Copyright 2011. <span style="color: #ff9933; font-weight: bold">xyz</span> All Rights Reserved </div> </div> <!-- footer ends --> </div> </form> </body> </html>
[Serializable()]
private struct fileInfo
{
public string filename;
public string name;
public string keywords;
public string comments;
}
private List<fileInfo> imagesArray
{
get { return (List<fileInfo>)ViewState["imagesArray"]; }
set { ViewState["imagesArray"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (Session["objUser"] != null)
{
objUser = Session["objUser"] as User;
}
if (!IsPostBack || object.Equals(imagesArray, null))
{
BindSubscriptionList();
RebindRotator();
// radRotProducts.Attributes.Add("onkeyup", RadAjaxManager1.GetAjaxRequestReference(radRotProducts.
}
}
protected void BindSubscriptionList()
{
imagesArray = new List<fileInfo>();
DataTable dtAllSubscriptions = (DataTable)Session["dtAllSubscriptions"];
foreach (string fileName in System.IO.Directory.GetFiles(Server.MapPath("~/Themes/Default/Images/Buttons/BtnProducts/"), "*.png"))
{
string fileN = fileName.Substring(fileName.LastIndexOf("\\") + 1);
string appShortName = fileN.Substring(fileN.LastIndexOf("_") + 1);
appShortName = appShortName.Substring(0, appShortName.IndexOf("."));
string filterBySub = "ApplicationShortName ='" + appShortName + "'";
if (dtAllSubscriptions != null)
{
DataRow[] rows = dtAllSubscriptions.Select(filterBySub);
if (rows.Length > 0)
{
fileInfo fInfo = new fileInfo();
fInfo.name = "~/Themes/Default/Images/Buttons/BtnProducts/" + fileName.Substring(fileName.LastIndexOf("\\") + 1);
fInfo.filename = fInfo.name;
fInfo.keywords = "Vitti" + fInfo.name;
fInfo.comments = fInfo.name + "Vitti";
imagesArray.Add(fInfo);
}
}
}
}
private void RebindRotator()
{
DataTable rotatorData = new DataTable();
rotatorData.Columns.Add("Image");
rotatorData.Columns.Add("Name");
foreach (fileInfo tempInfo in imagesArray)
{
rotatorData.Rows.Add(new string[] { tempInfo.filename, tempInfo.name });
}
radRotProducts.DataSource = rotatorData;
radRotProducts.DataBind();
//ConfigureRotator(radRotProducts,null);
}
protected void LoadProductDescription(object sender, Telerik.Web.UI.RadRotatorEventArgs e)
{
Telerik.Web.UI.RadRotatorItem item = e.Item;
fileInfo fInfo = imagesArray[Convert.ToInt32(item.DataItem.ToString())];
//set the image information
labelImageComments.Text = fInfo.comments;
labelImageKeywords.Text = fInfo.keywords;
labelImageName.Text = fInfo.name;
}
protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
{
object item=e.Argument.ToString();
RadRotatorItem radRotItem=new RadRotatorItem(item);
Telerik.Web.UI.RadRotatorEventArgs ev = new Telerik.Web.UI.RadRotatorEventArgs(radRotItem);
LoadProductDescription(radRotProducts, ev);
}
<telerik:RadFormDecoratorID="RadFormDecorator1"runat="server"Skin="Office2007"DecorationZoneID="displayContainer"DecoratedControls="All"ControlsToSkip="Select"/><divid="displayContainer"> ... </div>
<TABLE id="Table2" style="width:922px; table-layout:fixed"> <tr> <td> <telerik:RadGrid ID="gvDeletedOrders" runat="server" Width=922px AutoGenerateColumns="False" CellSpacing="0" GridLines="None" Skin="Simple" ondetailtabledatabind="gvDeletedOrders_DetailTableDataBind" onitemdatabound="gvDeletedOrders_ItemDataBound"><HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu> <AlternatingItemStyle Font-Names="Verdana" Font-Size="XX-Small" Wrap="False" /> <ItemStyle Wrap="False" /><MasterTableView DataKeyNames="OrderID" Name="master" HierarchyLoadMode="Client" Width=922px > <NoRecordsTemplate> <asp:Label ID="lblNoNotes" runat="server" Font-Names="Verdana" Font-Size="X-Small" Text="No Notes "></asp:Label> </NoRecordsTemplate> <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings><RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"></RowIndicatorColumn><ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"></ExpandCollapseColumn><DetailTables> <telerik:GridTableView Name="Notes" Width=922px> <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings><RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"></RowIndicatorColumn><ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"></ExpandCollapseColumn> <Columns> <telerik:GridBoundColumn SortExpression="Narrative" HeaderText="Comment" HeaderButtonType="TextButton" DataField="Narrative"> <ItemStyle Wrap="True" Width="400px"></ItemStyle> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="Author" HeaderText="Staff" HeaderButtonType="TextButton" DataField="Author"><ItemStyle Wrap="True" Width="100px"></ItemStyle> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="DateWritten" HeaderText="Date" HeaderButtonType="TextButton" DataField="DateWritten"><ItemStyle Wrap="True" Width="100px"></ItemStyle> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="TheSender" HeaderText="Sender" HeaderButtonType="TextButton" DataField="TheSender"><ItemStyle Wrap="True" Width="100px"></ItemStyle> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="TheRecipient" HeaderText="Recipient" HeaderButtonType="TextButton" DataField="TheRecipient"><ItemStyle Wrap="True" Width="222px"></ItemStyle> </telerik:GridBoundColumn> </Columns><EditFormSettings><EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn></EditFormSettings> <ItemStyle Font-Names="Verdana" Font-Size="XX-Small" Wrap="True" /> <AlternatingItemStyle Font-Names="Verdana" Font-Size="XX-Small" /> <HeaderStyle BackColor="Black" ForeColor="White" /> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridBoundColumn DataField="OrderID" FilterControlAltText="Filter column1 column" HeaderText="OrderID" UniqueName="OrderID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="SalesmanName" FilterControlAltText="Filter column1 column" HeaderText="Salesman" UniqueName="SalesmanName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="RegNumber" FilterControlAltText="Filter column1 column" HeaderText="Reg" UniqueName="RegNumber"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Status" FilterControlAltText="Filter column1 column" HeaderText="Status" UniqueName="Status"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="DateQuoteCreated" FilterControlAltText="Filter column1 column" HeaderText="Quote Created" UniqueName="DateCreated"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Version" FilterControlAltText="Filter column1 column" HeaderText="Version" UniqueName="Version"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="CustomerFirstname" FilterControlAltText="Filter column1 column" HeaderText="Customer Firstname" UniqueName="CustomerFirstname"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="CustomerSurname" FilterControlAltText="Filter column1 column" HeaderText="Customer Surname" UniqueName="CustomerSurname"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn column" HeaderText="Home Phone" UniqueName="TemplateColumn"> <ItemTemplate> <label><%# Eval("TheCustomer.HomePhone")%></label> </ItemTemplate> <HeaderStyle Width=60% /> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn column" HeaderText="Email" UniqueName="TemplateColumn"> <ItemTemplate> <label><%# Eval("TheCustomer.EMailAddress")%></label> </ItemTemplate> <HeaderStyle Width=60% /> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="NoteCount" FilterControlAltText="Filter column1 column" HeaderText="No. of Notes" UniqueName="NoteCount"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn column" HeaderText="Notes" UniqueName="TemplateColumn"> <ItemTemplate> <asp:Label ID="lblNotes" runat="server" Text="Show Notes" Font-Names="Verdana" Font-Size="XX-Small" Font-Underline="True" ForeColor="Blue" Visible="False"></asp:Label> </ItemTemplate> <HeaderStyle Width=60% /> </telerik:GridTemplateColumn> <%-- <telerik:GridBoundColumn DataField="PotentialInitialComm" FilterControlAltText="Filter column1 column" HeaderText="Potential Comm" UniqueName="PotentialInitialComm"> </telerik:GridBoundColumn>--%> <%-- <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn1 column" HeaderText="Assign To" UniqueName="TemplateColumn1"> <ItemTemplate> <asp:DropDownList ID="ddlAssignSm" runat="server" DataTextField="FullName" DataValueField="SalesmanID" Font-Names="Verdana" Font-Size="XX-Small"> </asp:DropDownList> </ItemTemplate> </telerik:GridTemplateColumn>--%> </Columns><EditFormSettings><EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn></EditFormSettings> <ItemStyle Font-Names="Verdana" Font-Size="XX-Small" Wrap="False" /> <HeaderStyle Font-Bold="True" Font-Names="Verdana" Font-Size="XX-Small" Wrap="False" /></MasterTableView><FilterMenu EnableImageSprites="False"></FilterMenu> </telerik:RadGrid> </td> </tr> </TABLE>