字符串不会传递给控制器

时间:2011-04-01 07:26:54

标签: c# jquery asp.net-mvc-2

我试图通过$ .ajax调用发布名为'selected'的字符串但控制器(selected = null)收到空值?根据fiddler,有一个值({'selected':0100})。

[HttpPost]
public ActionResult Index(string selected)
{
    return Json(new {value = "this is a test"});
}

$(document).ready(
     $("#btnSave").click(
         function () {
         var checkboxesselected = "0100";

         $.ajax({ type: 'POST',
             url: "/Home/Index",
             datatype: 'json',
             data: "{'selected':" + checkboxesselected + "}"
         });
     }
)

3 个答案:

答案 0 :(得分:1)

问题是你将数据作为字符串文字发送到jQuery而不是对象。您的数据参数行应为data: {selected: checkboxesselected }

答案 1 :(得分:0)

尝试:

var val = { selected: checkboxesselected };

然后: ...

datatype: 'json',
data: val

...

答案 2 :(得分:0)

你错过了“checkboxesselected”

周围的引号
$(document).ready(
    $("#btnSave").click(
        function () {
        var checkboxesselected = "0100";

        $.ajax({ type: 'POST',
            url: "/Home/Index",
            datatype: 'json',
            data: "{ 'selected' : '" + checkboxesselected + "'}"
        });
    }
)