如何在mvc中将文本框多行存储在与数据库相同的位置
how to store textbox multiliple line in same as database in mvc
我在 MVC 中创建项目。
我在我的项目中添加了向用户提供评论的功能,但我遇到了一个问题。
所以我需要帮助。
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();
}
存储
当你像这样在控制器存储数据库中传递值时
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/>");
});
给你的段落标签 class <p>
标签
您可以使用 CKEditor 来获取或设置您的评论文本。
CKEditor 将数据呈现为 HTML 并且您可以按原样保存它。
渲染值将以相同的格式设置值。
示例代码:
设置 CKEditor :
CKEDITOR.replace('editor1');
在将数据传递给控制器时获取评论文本:
var messageBody = CKEDITOR.instances.editor1.document.getBody().getHtml();
邮件正文的格式将与用户输入文本的格式相同。
如果您遇到任何问题,请尝试告诉我。
我在 MVC 中创建项目。
我在我的项目中添加了向用户提供评论的功能,但我遇到了一个问题。 所以我需要帮助。
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();
}
存储
当你像这样在控制器存储数据库中传递值时
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/>");
});
给你的段落标签 class <p>
标签
您可以使用 CKEditor 来获取或设置您的评论文本。 CKEditor 将数据呈现为 HTML 并且您可以按原样保存它。 渲染值将以相同的格式设置值。 示例代码:
设置 CKEditor :
CKEDITOR.replace('editor1');
在将数据传递给控制器时获取评论文本:
var messageBody = CKEDITOR.instances.editor1.document.getBody().getHtml();
邮件正文的格式将与用户输入文本的格式相同。
如果您遇到任何问题,请尝试告诉我。