2

ビューからコントローラーに生のhtmlを渡したい。Iamはjqueryajaxリクエストでそれを行おうとしています。生の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) {

        }
    });
}
4

3 に答える 3

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); }
});
于 2013-02-10T12:00:54.557 に答える
3

<ValidateInput(False)> _コントローラの投稿要件に追加するだけ です。

于 2013-02-11T10:46:09.840 に答える
1

私はこれの代わりに推測します:

data: {obj: obj},

次のようにする必要があります。

data: {obj: JSON.stringify({ Text: text, Title: title, SubTitle: "" })},
于 2013-02-10T11:57:33.390 に答える