C# 如何jqueryajax发布多个选择
我需要能够接收一系列类别ID: 但我正在变空?!?有什么想法吗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
[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没有正确设置指定的内容类型。”