[英]Post form data and list of strings to controller
我試圖將完整的表格和單獨的字符串列表發布到我的控制器。 表單綁定到模型,但字符串列表未綁定到控制器中的字符串列表,而是在列表中顯示為單個字符串。
var List = "one,two,three";
var dataToPost = $('#Form').serialize() + "&Words=" + JSON.stringify(List);
$.ajax({
type: "POST",
url: '/Home/Open/',
data: dataToPost,
dataType: "json",
success: function () {
alert('ok');
},
error: function () {
alert('error');
}
});
這是我的MVC控制器動作:
[HttpPost]
public IActionResult Open(DataModel Model, List<string> Words)
{
return View(Model);
}
這對我來說很好:
var List = ["one", "two", "three"];
var dataToPost = $('#Form').serializeArray();
List.forEach(function (value, index) {
dataToPost.push({ name: 'Words[]', value: value });
});
請嘗試以下代碼,我剛剛修改了您的AJAX調用。
var List = "one,two,three";
var dataToPost = $('#Form').serialize();
$.ajax({
type: "POST",
url: '/Home/Open/',
data: { fx: dataToPost, Words: List },
dataType: "json",
success: function () {
alert('ok');
},
error: function () {
alert('error');
}
});
將控制器代碼更改為以下
[HttpPost]
public IActionResult Open(FormCollection fx, string Words)
{
var lstWords = Words.Split(',').ToList();
var val = fx["elementname"]//here you can pass input element name to get value
return View(Model);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.