我在MVC中创建Project。
我在我的项目中为用户提供了审核功能,但我遇到了一个问题。 所以我需要帮助。
Before Adding review - we are showing multiple line(using enter) in text box
After Adding review - it'll display in single line
如何解决这个问题。
JavaScript代码:
$("#saveReview").click(function () {
debugger
if($("#saveReviewText").val() == "")
{
$("#BookReviewError").text("Review cannot be Empty!");
}
else
{
var saveStarReview = $("#saveStarReview").val();
$.ajax({
type: "POST",
url: '@Url.Action("SaveReview", "Book")',
data: { "reviewText": $("#saveReviewText").val(), "Bookid" : @Model.Book_Id ,"Rateid" : $("#RateId").val() , "StarReview" : saveStarReview },
cache: false,
});
location.reload();
}
});
$("#addReview").click(function () {
debugger
if($("#addReviewText").val() == "")
{
$("#BookReviewError").text("Review cannot be Empty!");
}
else
{
$.ajax({
type: "POST",
url: '@Url.Action("AddReview", "Book")',
data: { "reviewText": $("#addReviewText").val(),"Bookid" : @Model.Book_Id , "StarReview" : $("#addStarReview").val() },
cache: false,
});
location.reload();
}
});
添加了评论代码:
<div class="form-group">
<textarea class="form-control" rows="3" id="addReviewText"></textarea>
@if (!string.IsNullOrEmpty(ViewBag.BookError))
{ <span class="text-danger validator"> @ViewBag.BookError </span>}
<span class="text-danger validator" id="BookReviewError"></span>
</div>
<input type="button" class="btn btn-default btn-xs button" value="Add Review" id="addReview" />
</div>
型号代码:
public ActionResult AddReview(string reviewText, int Bookid, byte StarReview)
{
if (!string.IsNullOrEmpty(reviewText))
{
_ratingServices.AddUserRating(reviewText, Bookid, StarReview);
}
else
{
TempData["BookError"] = Resource.Messages.EmptyReviewText;
}
return View();
}
服务代码:
public void AddUserRating(string addReviewText, int Bookid , byte StarReview)
{
Rating rating = new Rating();
rating.User_Id = ProjectSession.UserID;
rating.Book_Id = Bookid;
rating.Review = addReviewText;
rating.Rating1 = StarReview;
rating.Rating_Time = DateTime.Now;
rating.Is_Deleted = false;
_unitOfWork.RatingRepository.Insert(rating);
_unitOfWork.Save();
}
存储
答案 0 :(得分:1)
您可以使用CKEditor获取或设置评论文本。 CKEditor将数据呈现为HTML,您可以按原样保存。 渲染值将以相同的格式设置值。 示例代码:
设置CKEditor:
CKEDITOR.replace('editor1');
将数据传递给控制器时,将审核文本作为:
var messageBody = CKEDITOR.instances.editor1.document.getBody()。getHtml();
邮件正文的格式与用户输入文本的方式相同。
如果您遇到任何问题,请尝试告诉我。
答案 1 :(得分:0)
在控制器存储数据库中传递值,如此
public ActionResult AddReview(string reviewText, int Bookid, byte StarReview)
{ reviewText = reviewText.Replace("\n", "<br />");.... so on
使用MVC
中的视图显示评论时,使用javascript创建函数function multiliner(target, replacer) {
var text = $(target).html();
text = text.split("<br />");
text = text.join(replacer);
$(target).html(text);
}
$(".multiline.paragraph,.user-rating-list .paragraph").each(function () {
multiliner(this, "<br/>");
});
为您的段落标记<p>
标记