I have built a control in Sitefinity that uses the RadRotator. I have added two meta fields to the blog module, one boolean called Featured_Post and an image from the image library called Featured_Thumbnail.
My problem is with the display of the item in the rotator. There seems to be a section of post on the left side I can't get rid of (please see screen shot) with each rotation (automatic advance) it leave a small section of the last post on the screen.
I will attach a screen shot of the problem, my code is below. Thanks for your help
My problem is with the display of the item in the rotator. There seems to be a section of post on the left side I can't get rid of (please see screen shot) with each rotation (automatic advance) it leave a small section of the last post on the screen.
I will attach a screen shot of the problem, my code is below. Thanks for your help
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="FeaturedPost.ascx.cs" Inherits="FeaturedPost" %><%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %><style type="text/css"> .rotator { margin-top: 3px; margin-left: auto; margin-right: auto; width: 700px; height: 200px; }</style> <telerik:RadRotator ID="RadRotator1" runat="server" Height="200" ScrollDuration="500" FrameDuration="2000" ItemHeight="200" OnItemDataBound="RotatorItemDataBound" RotatorType="AutomaticAdvance" ItemWidth="100" CssClass="rotator" BorderStyle="Solid" BorderWidth="1px"> <ItemTemplate> <div style="width:100px; height:200px;"> <div style="overflow:hidden; margin-bottom:2px;"> <asp:Image runat="server" ID="fpImage" Width="100px" Height="100px" /> </div> <div style="overflow:hidden; width:100px; height:95px; margin-bottom:3px"> <asp:HyperLink runat="server" ID="fpLink" /> </div> </div> </ItemTemplate> </telerik:RadRotator>using System;using System.Web;using System.Web.UI.WebControls;using Telerik.Cms.Web.UI;using System.ComponentModel;using Telerik.Rss;using Telerik.Framework.Web.Design;using Telerik.Cms.Engine;using Telerik.Cms;using Telerik.Blogs;using System.Text;using System.Collections;public partial class FeaturedPost : System.Web.UI.UserControl{ protected void Page_Load(object sender, EventArgs e) { RadRotator1.Width = ControlWidth; BlogManager manager = new BlogManager(); IList posts; if (selectedBlogs != null) posts = manager.Content.GetContent(0, 0, "", selectedBlogs); else posts = manager.Content.GetContent(); if (posts.Count > 0) { ArrayList myFeaturedPosts = new ArrayList(); for (int i = 0; i < posts.Count; i++) { IContent item = (IContent)posts[i]; if ((Boolean)item.GetMetaData("Featured_Post")) { rotatorObject tempR = new rotatorObject(); IBlog blog = manager.GetBlog(item.ParentID); tempR.URL = GetUrl(blog.BlogPage.Replace(".aspx", "/") + item.UrlWithExtension); tempR.Title = item.GetMetaData("Title").ToString(); if (item.GetMetaData("Featured_Thumbnail") != null) { string tempImageURL = item.GetMetaData("Featured_Thumbnail").ToString().Trim(); if (tempImageURL != string.Empty) { tempR.imageURL = tempImageURL; } } myFeaturedPosts.Add(tempR); } } RadRotator1.DataSource = myFeaturedPosts; RadRotator1.DataBind(); } } protected void RotatorItemDataBound(object sender, Telerik.Web.UI.RadRotatorEventArgs e) { Image i = (Image)e.Item.FindControl("fpImage"); HyperLink h = (HyperLink)e.Item.FindControl("fpLink"); rotatorObject r = (rotatorObject)e.Item.DataItem; i.ImageUrl = r.imageURL; h.Text = r.Title; h.NavigateUrl = r.URL; } #region Properties public int ControlWidth { get { if (ViewState["ControlWidth"] == null) return 400; return int.Parse(ViewState["ControlWidth"].ToString()); } set { ViewState["ControlWidth"] = value; } } [TypeConverter("Telerik.Blogs.WebControls.SelectedBlogsConverter, Telerik.Blogs")] [WebEditor("Telerik.Blogs.WebControls.BlogsSelector, Telerik.Blogs")] public Guid[] SelectedBlogs { get { return this.selectedBlogs; } set { this.selectedBlogs = value; } } public virtual string ProviderName { get { return this.providerName; } set { this.providerName = value; } } private Guid[] selectedBlogs; private string providerName = string.Empty; #endregion public string GetUrl(string value) { // if our value starts with ~/ // we return url if (value.StartsWith("~/")) return this.ResolveUrl(value); if (value.StartsWith("[")) { int idx = value.IndexOf("]"); //getting the provider [Libraries] string provider = value.Substring(1, idx - 1); string strId = value.Substring(idx + 1); Guid id = new Guid(strId); if (ContentManager.Providers.ContainsKey(provider)) { IContent cnt = ContentManager.Providers[provider].GetContent(id); if (cnt != null) return VirtualPathUtility.ToAbsolute(cnt.UrlWithExtension, this.Context.Request.ApplicationPath); } } return value.ToString(); } public class rotatorObject { public string imageURL { get; set; } public string URL { get; set; } public string Title { get; set; } }}