Page Loading issue
I have created a customer widget for displaying news based off of a similar 3.7 custom code. After spending a lot of time I have the widget working, or so I think. I can load it onto a page, and view the page no problem. However once I publish the page, then go back to edit the same page, it never finishes loading. All I get is the animation at the top of the page going back and forth. There are no errors in the log, and I get no exceptions from .net.
Here is my code, sorry for the length:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Collections;using Telerik.Sitefinity;using Telerik.Sitefinity.News.Model;using Telerik.Sitefinity.Modules.News;using Telerik.Sitefinity.Web.UI.ControlDesign;using Telerik.Sitefinity.GenericContent.Model;using Telerik.Sitefinity.Taxonomies;using Telerik.Sitefinity.Model;using Telerik.Sitefinity.Taxonomies.Model;namespace SitefinityWebApp.Custom.Widgets.NewsListControl [ControlDesigner(typeof(NewsListDesigner))] public partial class NewsList : System.Web.UI.UserControl //Declare class variables NewsManager manager; private int _numOfNewsArticles = 5; //Default number of news articles displayed private string _categoryFilter = ""; //Default category filter private string _cssClass = "news"; //Default style class private string _title = "News"; //Default control title private DateTime _maxPublishDate = DateTime.Now.AddMonths(-3); //Furthest date to show for news protected Guid GetTaxon(string Category) TaxonomyManager Manager = new TaxonomyManager(); var taxa = Manager.GetTaxa<HierarchicalTaxon>().Where(t => t.Name == Category).Single(); return taxa.Id; protected void Page_Load(object sender, EventArgs e) //Set Style Class controlContainer.Attributes.Clear(); controlContainer.Attributes.Add("class", cssClass); //Set Title controlTitle.Text = title; //Set container for news items List<NewsItem> CEANews = new List<NewsItem>(); //Initialize news data manager manager = NewsManager.GetManager(); CEANews = App.WorkWith() .NewsItems() .Where(n => n.Status == ContentLifecycleStatus.Live) .Where(n => n.PublicationDate < DateTime.Now.AddMonths(-3)) .Where(n => n.GetValue<IList<Guid>>("Category").Contains(GetTaxon("Legislative News"))) .Get() .Take(this.numOfNewsArticles) .ToList(); //CEANews = manager.GetNewsItems().Where(newsItem => newsItem.Status == ContentLifecycleStatus.Live).ToList(); /*string sortExpression = "Publication_Date DESC"; //Build metadata filter List<IMetaSearchInfo> newsFilter = new List<IMetaSearchInfo>(); newsFilter.Add(new MetaSearchInfo(MetaValueTypes.ShortText, "Category", CategoryFilter.Trim())); newsFilter.Add(new MetaSearchInfo(MetaValueTypes.DateTime, "Publication_Date", DateTime.Now.ToString(), SearchCondition.LessOrEqual)); newsFilter.Add(new MetaSearchInfo(MetaValueTypes.DateTime, "Expiration_Date", DateTime.Now.ToString(), SearchCondition.GreaterThen)); //Retrieve the news articles based on the requested number of articles, sort expression, and applied metadata filters IList listOfNewsItems = manager.Content.GetContent(0, NumberOfNewsArticles, sortExpression, newsFilter.ToArray()); //Bind the results of the news article search to the web control's repeater newsListRpter.DataSource = listOfNewsItems;*/ //CEANews.RemoveAll(FindByDate); CEANews.Sort(delegate(NewsItem C1, NewsItem C2) return C1.PublicationDate.CompareTo(C2.PublicationDate); ); newsListRpter.DataSource = CEANews; newsListRpter.DataBind(); private static bool FindByDate(NewsItem NI) if (NI.PublicationDate < DateTime.Now.AddMonths(-3)) return true; else return false; //Formats the News List's archive link based on the control's news category public string FormatMoreLink() //Initialize news data manager and path variables /*manager = new NewsManager("News"); string rootPath, pathVariable, fullPath; string categoryId = ""; //Retrieve the root path for the more line rootPath = ResolveUrl("~/aboutus/publications/news.aspx"); //Format path variable string pathVariable = "?NewsCatId="; //Get Guid for the control's news category ICategory newsCategory = manager.Content.GetCategory(CategoryFilter); if (newsCategory != null) categoryId = newsCategory.ID.ToString(); //Build the full path fullPath = rootPath + pathVariable + categoryId; //Return the formated news archive link*/ return "null"; //Formats the news article's URL based on the partial link provided by the NewsManager module public string FormatLink(string partialLink) //Retrieve the root path for the link string rootPath = ResolveUrl("~/aboutus/publications/news"); //Construct the full path for the news article based on the root path and the provided partial link string fullPath = rootPath + partialLink + ".aspx"; return fullPath; //Returns the string as a datetime object protected DateTime GetDateTime(string date) DateTime response = new DateTime(); response = DateTime.Parse(date); return response; //Get or set the number of news articles displayed by the user control public int numOfNewsArticles get return _numOfNewsArticles; set _numOfNewsArticles = value; //Ger or set the category filter for the user control public string categoryFilter get return _categoryFilter; set _categoryFilter = value; //Get or set the CSS class for the user control public string cssClass get return _cssClass; set _cssClass = value; //Get or set the title for the user control public string title get return _title; set _title = value; //Get or set the maximum publication date public DateTime maxPublishDate get return _maxPublishDate; set _maxPublishDate = value; Forget it. Of all things it was a very minor formatting issue on the ascx that was causing the issue.