2012-12-22 61 views
1

我在ASP.NET MVC一個簡單的編輯操作,看起來像這樣:製作jQuery的AJAX調用ASP.NET MVC行動

[HttpPost] 
public ActionResult Edit(EditPostViewModel data) 
{ 
} 

我想發表的帖子中這樣這個動作:

function SendPost(actionPath) { 
    $.ajax({ 
     url: actionPath, 
     type: 'POST', 
     dataType: 'json', 
     data: '{Text=' + $('#EditPostViewModel_Text').val() + 'Title=' + $('#EditPostViewModel_Title').val() + '}', 
     success: function (data) { 
      alert('success'); 
     }, 
     error: function() { 
      alert('error'); 
     } 
    }); 
} 

該動作將被觸發,但EditPostViewModel不會被填充文本和標題?

我希望我可以使用常規的ASP.NET MVC操作,以便能夠使用ModelState處理服務器端的驗證。

以後會有成功的代碼和錯誤返回數據。

這是如何起作用的?

回答

1

試試這個:

data: 
{ 
    Text: $('#EditPostViewModel_Text').val(), 
    Title: $('#EditPostViewModel_Title').val() 
} 
+1

到OP:你需要提供一個有效的JS對象的AJAX方法;你的語法(使用'='而不是':')不會產生一個有效的對象。 – Mathletics