我想将原始html从视图传递给控制器。我试图用jquery ajax请求来做。一切都没问题,直到带有原始html的对象传递给控制器。我的错是什么? 这是我的模型,控制器和jquery。
谢谢。
模型
public class NewsEditionModel
{
public string Title { get; set; }
public string SubTitle { get; set; }
public string Text { get; set; }
}
控制器
public ActionResult AddText(NewsEditionModel obj)
{
var news = new News();
try
{
news.Text = obj.Text;
news.PublishDate = DateTime.Now;
news.Title = obj.Title;
var repository = new Repository();
var success = repository.AddNews(news, User.Identity.Name);
return Json(new {data = success});
}
catch (Exception)
{
return View("Error");
}
}
Jquery的
function submitForm() {
var text = ste.getContent();
var title = $('#title').val();
var obj1 = JSON.stringify({ Text: text, Title: title, SubTitle: "" });
var obj = $.parseJSON(obj1);
$.ajax({
type: "POST",
dataType: "json",
content: "application/json",
data: {obj: obj},
url: '@Url.Action("AddText", "News")',
success: function (res) {
}
});
}
答案 0 :(得分:3)
您可以使用此示例
$.ajax({
url: '@Url.Action("AddText", "News")',
data: {obj: JSON.stringify({ Text: text, Title: title, SubTitle: "" })},
contentType: 'application/json',
dataType: 'json',
success: function (data) { alert(data); }
});
答案 1 :(得分:3)
只需将<ValidateInput(False)> _
添加到您的控制器后请求
答案 2 :(得分:1)
我想而不是这个:
data: {obj: obj},
你应该这样做:
data: {obj: JSON.stringify({ Text: text, Title: title, SubTitle: "" })},