Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何jqueryajax发布多个选择_C#_Jquery_Asp.net Mvc - Fatal编程技术网

C# 如何jqueryajax发布多个选择

C# 如何jqueryajax发布多个选择,c#,jquery,asp.net-mvc,C#,Jquery,Asp.net Mvc,我需要能够接收一系列类别ID: 但我正在变空?!?有什么想法吗 [HttpPost] public ActionResult AddChargeCategories(int[] CategoryIDs, int ChargeID) { foreach (var CategoryID in CategoryIDs) { db.ChargeCategories.Add(new ChargeCategory() { CategoryID = Convert.ToInt3

我需要能够接收一系列类别ID:

但我正在变空?!?有什么想法吗

[HttpPost]
public ActionResult AddChargeCategories(int[] CategoryIDs, int ChargeID)
{
    foreach (var CategoryID in CategoryIDs)
    {
        db.ChargeCategories.Add(new ChargeCategory() { CategoryID = Convert.ToInt32(CategoryID), ChargeID = ChargeID });

    }
    db.SaveChanges();
    return RedirectToAction("Edit", new { id = ChargeID });
}



<select multiple="multiple"  id="CategoriesBefore" size="@DDCategories.Count" style="width:180px;">
@foreach (var Category in DDCategories)
{
    <option value="@Category.CategoryID">@Category.Name</option>    
}
</select>

<button onclick="return AddButton()">Add</button>

<script>

function AddButton() {

alert($('#CategoriesBefore').val());

$.ajax({

    url: '@Url.Action("AddChargeCategories")',
    type: "POST",
    data: { ChargeID: $("#ChargeID").val(), CategoryIDs: $('#CategoriesBefore').val() }
});


return false;

}

</script>
[HttpPost]
公共行动结果AddChargeCategories(int[]类别ID,int ChargeID)
{
foreach(类别ID中的变量类别ID)
{
db.ChargeCategories.Add(新ChargeCategory(){CategoryID=Convert.ToInt32(CategoryID),ChargeID=ChargeID});
}
db.SaveChanges();
返回重定向操作(“编辑”,新的{id=ChargeID});
}
@foreach(DDCategories中的var类别)
{
@类别.名称
}
添加
函数AddButton(){
警报($('#CategoriesBefore').val());
$.ajax({
url:“@url.Action”(“AddChargeCategories”),
类型:“POST”,
数据:{ChargeID:$(“#ChargeID”).val(),categoryId:$('#CategoriesBefore').val()}
});
返回false;
}

看起来contentType是这里的主要参与者

根据Darin Dimitrov的回答:

   <script>           
       function AddButton() {
           $.ajax({
               url: '@Url.Action("AddChargeCategories")',
               type: "POST",
               contentType: 'application/json',
               data: JSON.stringify({ ChargeID: $("#ChargeID").val(), CategoryIDs: $("#CategoriesBefore").val() })
           }).success(function () { location.reload(true); });
           return false;           
       }       
   </script>

函数AddButton(){
$.ajax({
url:“@url.Action”(“AddChargeCategories”),
类型:“POST”,
contentType:'应用程序/json',
数据:JSON.stringify({ChargeID:$(“#ChargeID”).val(),categoryId:$(“#CategoriesBefore”).val())
}).success(函数(){location.reload(true);});
返回false;
}       

我认为
缺少一个value属性。@RajeshDhiman你是对的……仍然是空的。内容类型有问题。根据本文所述:“当没有包含数据时,jQuery没有正确设置指定的内容类型。”