我正在尝试将通过AJAX的int(或IEnumerable)数组传递给MVC操作,我需要一些帮助.
javascript是
$.get('/controller/MyAction', { vals: arrayOfValues }, function (data) {...
并且控制器动作是
public ActionResult MyAction(IEnumerable<int> arrayOfValues )
目前请求的格式为
controller/MyAction?_=1301503418429&arrayOfValues[]=491&arrayOfValues[]=368&arrayOfValues[]=235&arrayOfValues[]=437
所以我几乎就在那里,如果我取下方括号,我会得到正确的答案.我应该如何将该数组传递给我的get,以便控制器可以识别它是什么?
非常感谢您的帮助
戴夫
我正在尝试将数组从jQuery函数传递给我的控制器.该数组包含内容和持有该内容的div的id.
当我检查通过Firebug中的AJAX帖子发送的对象时,正确的值存在但是在我的控制器上放置一个断点后,接收的值是一个空的List或Array或我尝试将其设置为的任何类型.我很擅长使用JSON将数据传递给我的控制器,所以在我出错的地方会有所帮助.
jQuery函数调用"提交"单击.该数组在我的脚本中全局声明,并在每次用新内容填充新区域时添加.
function postContent() {
        $.ajax({
            type: "POST",
            datatype: 'json',
            url: "/Admin/getContentArray",
            data: JSON.stringify(contentArray),
            contentType: 'application/json; charset=utf-8',
            success: function (result) {
                alert(result.Result);
            }
        });
    }
测试接收控制器
[HttpPost]
    public JsonResult getContentArray(List<Content> myPassedArray)
    {
        var data = myPassedArray;
        return this.Json(null);
    }
我在javascript中有一个数组,我需要把它带到我的c#webMethod.做这个的最好方式是什么?
我的c#代码是这样的:
 [WebMethod]
public static void SaveView(string[]  myArray, string[] filter)
{
}
编辑 -
我的json数据如下所示:
{"myArray":[{"name":"Title","index":"Title","hidden":false,"id":"1","sortable":true,"searchoptions":{"sopt":["cn","eq","bw","ew"]},"width":419,"title":true,"widthOrg":150,"resizable":true,"label":"Title","search":true,"stype":"text"},{"name":"Author","index":"Author","hidden":false,"id":"3","sortable":true,"searchoptions":{"sopt":["cn","eq","bw","ew"]},"width":419,"title":true,"widthOrg":150,"resizable":true,"label":"Author","search":true,"stype":"text"}]}
但我不工作......任何想法为什么?
非常感谢你.