不能让阵列到我的actionresult

时间:2010-11-13 09:11:02

标签: c# jquery asp.net-mvc

我试图获取所有已选中复选框的值并将这些值(整数)发布到操作结果,问题是我在控制器端获得一个空数组... 我的jquery代码如下:

 function getIds() {

        var idList = new Array();
        var loopCounter = 0;
        //find all the checked checkboxes
        $("input:checked").each
    (
      function() {

          //fill the array with the values
          idList[loopCounter] = $(this).val();
          loopCounter += 1;
      }
    );
      //Send the list off
      alert(idList);
      var postData = { values: idList };    

      $.post("/Admin/Delete/", postData);
    }

我的控制器端代码如下

[AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Delete(Int32[] values)
        {
            try
            {
                // TODO: Add delete logic here

                return RedirectToAction("NewSubDashboard");
            }
            catch
            {
                return View();
            }
        }

发布没有问题,但我在控制器端获得一个空数组......

2 个答案:

答案 0 :(得分:2)

$.post不应该是:

$.post("/Admin/Delete/", postData);

由于postData:idList可能未定义。

答案 1 :(得分:0)

我从httpcontext中提取了值

HttpContext ctx = System.Web.HttpContext.Current;
        string [] ValArr = ctx.Request.Params.GetValues(0);