diff --git a/src/Orchard.Web/Modules/Orchard.Comments/Controllers/CommentController.cs b/src/Orchard.Web/Modules/Orchard.Comments/Controllers/CommentController.cs index a51b6994e..bf4e5e3ac 100644 --- a/src/Orchard.Web/Modules/Orchard.Comments/Controllers/CommentController.cs +++ b/src/Orchard.Web/Modules/Orchard.Comments/Controllers/CommentController.cs @@ -7,8 +7,6 @@ using Orchard.Comments.ViewModels; using Orchard.ContentManagement; using Orchard.Localization; using Orchard.UI.Notify; -using Orchard.Utility.Extensions; -using System.Text.RegularExpressions; namespace Orchard.Comments.Controllers { public class CommentController : Controller { @@ -33,16 +31,19 @@ namespace Orchard.Comments.Controllers { : Redirect("~/"); var viewModel = new CommentsCreateViewModel(); - - if (TryUpdateModel(viewModel)) { - var context = new CreateCommentContext { - Author = viewModel.Name, - CommentText = viewModel.CommentText, - Email = viewModel.Email, - SiteName = viewModel.SiteName, - CommentedOn = viewModel.CommentedOn - }; + TryUpdateModel(viewModel); + + var context = new CreateCommentContext { + Author = viewModel.Name, + CommentText = viewModel.CommentText, + Email = viewModel.Email, + SiteName = viewModel.SiteName, + CommentedOn = viewModel.CommentedOn + }; + + + if (ModelState.IsValid) { if (!String.IsNullOrEmpty(context.SiteName) && !context.SiteName.StartsWith("http://") && !context.SiteName.StartsWith("https://")) { context.SiteName = "http://" + context.SiteName; } @@ -58,6 +59,13 @@ namespace Orchard.Comments.Controllers { } } + if(!ModelState.IsValid) { + TempData["CreateCommentContext.Name"] = context.Author; + TempData["CreateCommentContext.CommentText"] = context.CommentText; + TempData["CreateCommentContext.Email"] = context.Email; + TempData["CreateCommentContext.SiteName"] = context.SiteName; + } + return !String.IsNullOrEmpty(returnUrl) ? Redirect(returnUrl) : Redirect("~/"); diff --git a/src/Orchard.Web/Modules/Orchard.Comments/Views/Parts/Comments.cshtml b/src/Orchard.Web/Modules/Orchard.Comments/Views/Parts/Comments.cshtml index 01f280828..450b49d57 100644 --- a/src/Orchard.Web/Modules/Orchard.Comments/Views/Parts/Comments.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Comments/Views/Parts/Comments.cshtml @@ -3,6 +3,14 @@ @using Orchard.Security; @using Orchard.Utility.Extensions; +@{ + var contextExists = TempData["CreateCommentContext.Name"] != null; + var name = Convert.ToString(TempData["CreateCommentContext.Name"]); + var commentText = Convert.ToString(TempData["CreateCommentContext.CommentText"]); + var email = Convert.ToString(TempData["CreateCommentContext.Email"]); + var siteName = Convert.ToString(TempData["CreateCommentContext.SiteName"]); +} + @if (Model.ContentPart.Comments.Count > 0) {

@T.Plural("1 Comment", "{0} Comments", (int)Model.ContentPart.Comments.Count)

@@ -30,15 +38,15 @@ using (Html.BeginForm("Create", "Comment", new { area = "Orchard.Comments" }, Fo
  1. - +
  2. - +
  3. - +
@@ -52,7 +60,7 @@ using (Html.BeginForm("Create", "Comment", new { area = "Orchard.Comments" }, Fo
  1. - +