我正在用asp.net mvc編寫應用程序。我有控制器的行動,它使用一些ViewModel作爲參數。如何使用jQuery post發送表單數據到該mvc控制器。如何將jquery.post中的數據發送到使用ViewModel作爲參數的mvc控制器?
21
A
回答
37
$.post("Yourcontroller/YourAction", { FirstName : $("#txtFirstName").val(), LastName : $("#txtLastName") } ,function(data){
//do whatever with the response
});
您的視圖模型屬性名稱和參數我們傳遞應該是相同的。即:您的視圖模型應該有2個屬性稱爲FirstName
和LastName
像他
public class PersonViewModel
{
public string FirstName { set;get;}
public string LastName { set;get;}
// other properties
}
和信件的操作方法應該接受類型的參數PersonViewModel
[HttpPost]
public ActionResult YourAction(PersonViewModel model)
{
//Now check model.FirstName
}
另外,如果你的看法是強類型來在PersonViewModel,你可以序列化形式簡單地發送到操作方法使用jQuery serialize
方法
$.post("Yourcontroller/YourAction", $("#formId").serialize() ,function(data){
//do whatever with the response
});
編輯:按照註釋
Serialize
會照顧孩子財產的爲好。假設你有一個名爲職業這樣
public class Profession
{
public string ProfessionName { set; get; }
}
類和你PersonViewModel有一個類型的屬性Profession
public class PersonViewModel
{
//other properties
public Profession Profession { set; get; }
public PersonViewModel()
{
if (Profession == null)
Profession = new Profession();
}
}
你會得到這些數據的HttpPost操作方法,如果您填寫的是從您的視圖。
7
var myData = {
Parameter1: $("#someElementId").val(),
Parameter2: $("#anotherElementId").val(),
ListParameter: { /* Define IEnumerable collections as json array as well */}
// more params here
}
$.ajax({
url: 'someUrl',
type: 'POST',
dataType: "json",
contentType: 'application/json',
data: JSON.stringify(myData)
});
[HttpPost]
public JsonResult Create(CustomViewModel vm)
{
// You can access your ViewModel like a non-ajax call here.
var passedValue = vm.Parameter1;
}
您也可以序列化整個表單並將其傳遞給控制器的操作方法。在你的Ajax調用:
data: $('form').serialize()
+0
太棒了!!!我不知道它會起作用。謝謝。我會檢查並向你求助。 – Radislav
相關問題
- 1. 如何將數據從控制器發送到viewmodel文本框
- 2. 如何將參數發送到mvc控制器中的jsonresult操作?
- 3. 如何使用Ajax(jquery)將數組發送到控制器(MVC)
- 4. 如何使用jQuery.post將JSON數據發送到php腳本?
- 5. 將數據發送回控制器的問題。參數始終爲空MVC
- 6. 從視圖上的文本框將值作爲參數發送到控制器中使用ASP.NET MVC的操作
- 7. 如何在asp.net mvc中將數據從視圖發送到控制器操作?
- 8. 如何使用HttpWebRequest將數據發佈到MVC控制器?
- 9. 將數據從html編輯器發送到MVC中的控制器動作
- 10. observableArray作爲參數發送到控制器函數爲空
- 11. 如何使用jQuery從錨標記將json數據發送到mvc控制器
- 12. AJAX將數據發送到控制器
- 13. 將數據發送到控制器
- 14. 如何使用MVC3中的JavaScript將參數發送到控制器方法?
- 15. MVC控制器,採用參數作爲
- 16. 如何將所選選項的參數發送給MVC中的控制器?
- 17. 如何使用remote_function將主題參數發送給控制器?
- 18. Phonegap - 使用Ajax將數組從MVC控制器發送到Javascript
- 19. 無法使用anglarjs發送json數據到MVC控制器
- 20. 使用JSON發送數據到MVC控制器
- 21. 使用Ajax發送數據到控制器 - MVC 3剃鬚刀
- 22. MVC發送從View數據控制器
- 23. 如何將多個jQuery數組發送到MVC控制器?
- 24. ASP.NET MVC將JSON數據發送給控制器操作
- 25. 如何將文件作爲參數從控制器發送到模型?
- 26. 如何向控制器發送參數
- 27. 如何ExtJS的數據發送到警予控制器動作
- 28. 從佈局將數據發送到控制器Asp.Net MVC
- 29. 將JSON數據發送到Spring MVC控制器 - 錯誤415
- 30. 無法將JSON數據發送到asp.net MVC控制器
如果我的模型包含一些viewModel作爲屬性會怎麼樣?例如人有財產職業與其他財產? – Radislav
@Radislav:是的,它會。檢查我更新的答案。 – Shyju
Exelent !!!非常感謝!!!! – Radislav