public override ActionResult Index(RenderModel model) { var articles = model.Content.Children(); var viewModel = new ArticleFolderViewModel(); foreach (var articleContent in articles) { var articleModel = new ArticleViewModel(); articleModel.Content= articleContent.GetPropertyValue<string>("bodyText") .ScrubHtml() .Truncate(200, true, true); articleModel.UrlName = articleContent.UrlName; articleModel.Title = articleContent.Name; articleModel.NumberOfComments = articleContent.Descendants("Comment").Count(); viewModel.Articles.Add(articleModel); } if (Request.IsAjaxRequest()) { return Json(viewModel); } ViewBag.Model = viewModel; //Do some stuff here, then return the base method return base.Index(model); }
public override ActionResult Index(RenderModel model) { Thread.Sleep(500); var viewModel = new ArticleViewModel(); var content = model.Content; viewModel.Content = content.GetPropertyValue<string>("bodyText"); viewModel.UrlName = content.UrlName; viewModel.Title = content.Name; viewModel.Comments = new List<CommentViewModel>(); foreach (var child in content.Children) { var commentModel = new CommentViewModel(); commentModel.Author = child.GetPropertyValue<string>("author"); commentModel.Content = child.GetPropertyValue<string>("comment"); commentModel.Date = child.CreateDate; viewModel.Comments.Add(commentModel); } if (Request.IsAjaxRequest()) { return new JsonDotNetResult { Data = viewModel }; } else { ViewBag.Model = viewModel; //Do some stuff here, then return the base method return base.Index(model); } }