簡體   English   中英

將表單數據和字符串列表發布到控制器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM