コード例 #1
0
        public ActionResult New(BlogEntryViewModel model)
        {
            if (ModelState.IsValid)
            {
                model.Url = model.Title.Replace(" ", "-");
                model.Url = Regex.Replace(model.Url, @"[^\w\-]", "");
                model.Url = Regex.Replace(model.Url, @"-{2,}", "-");

                BlogEntry existingBlogEntry = blogService.Get(model.Url);

                if (existingBlogEntry == null)
                {
                    model.Body = HttpUtility.HtmlEncode(model.Body);
                    BlogEntry newBlogEntry = Mapper.Map<BlogEntryViewModel, BlogEntry>(model);
                    blogService.Save(newBlogEntry);
                }
                else
                {
                    ModelState.AddModelError("duplicateTitle", "This title either already exists or is too similar to one that already exists");
                    return View(model);
                }
            }
            return RedirectToAction("Article", new { id = model.Url });
        }
コード例 #2
0
        public ActionResult Edit(BlogEntryViewModel model, string id)
        {
            if (ModelState.IsValid)
            {
                model.Url = id;
                model.Body = HttpUtility.HtmlEncode(model.Body);
                BlogEntry blogEntry = Mapper.Map<BlogEntryViewModel, BlogEntry>(model);

                blogService.Update(blogEntry);
            }
            return RedirectToAction("Article", new { id = id });
        }