首页 > 解决方案 > 将表单数据和字符串列表发布到控制器

问题描述

我正在尝试将完整的表单和单独的字符串列表发布到我的控制器。表单绑定到模型,但字符串列表不绑定到控制器中的字符串列表,并显示为列表中的单个字符串。

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);
}

标签: javascriptjqueryajaxasp.net-mvc

解决方案


这对我来说很好:

var List = ["one", "two", "three"];
var dataToPost = $('#Form').serializeArray();
List.forEach(function (value, index) {
    dataToPost.push({ name: 'Words[]', value: value });
});

推荐阅读