javascript - ASP.NET MVC : Action Method and automatically binding to an array of values

标签 javascript asp.net asp.net-mvc

我有一段 javascript,可以发布到操作方法,并附带一些数据。 该数据的形式为:

pageID  1
photos[1]   2
photos[2]   1

我的操作方法如下所示:

public ActionResult PosImage(IEnumerable<int> photos, int pageID)

当然,pageID 会出现在表单数据中,但 photos 始终为空。

ASP.MVC可以这样绑定(bind)吗?

处理帖子的 JS 如下所示:

var ids = { 'photos': {}, 'pageID': SitePhotos.site_id };
    $('#stone-photo-sortable li').each(function (i) {
        i++;
        var id = $(this).attr('rel');
        ids.photos[id] = i;
    });
    $.ajax({
        type: "POST",
        url: '/backend/site/posimage/?timestamp=' + new Date().getTime(),
        dataType: 'json',
        data: ids,
        beforeSend: function () { },
        complete: function () { },
        success: function (html) {
            if (html.worked == 1) {
                Notify.add('success', 'New Positions saved to the database..');
            } else {
                Notify.add('failure', 'Couldn\'t save positions.');
            }

        }
    });

最佳答案

我还没有通过 javascript 完成它,但你的帖子数据实际上应该是这样的:

photos: 1
photos: 2
photos: 3

您可能需要使用不同的 $.ajax 重载才能传递具有重复键名称的发布数据。

编辑似乎您所要做的就是设置 traditional标志为真。

关于javascript - ASP.NET MVC : Action Method and automatically binding to an array of values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4723566/

相关文章:

c# - 从数据库模型填充 View 模型但出现对象引用错误

javascript - 我有一个带有 JQuery 的简单图像图片 slider ,但我不知道如何向上或向下设置动画

javascript - Highcharts : update group column chart

javascript - 如何在回发窗口中显示 ViewData 的内容?

asp.net - 运行 Azure 项目时获取 '500 - Internal server error'

c# - 软件设计与网络服务设计

asp.net - 如何配置 SQL Server 使其与带有 Windows 身份验证的 ASP.NET MVC 一起使用?

javascript - 如何从一个对象创建一个字符串数组,其中各个键的值是单独的字符串数组?

javascript - 使用 TextBox 将数据(列表)从 View 传递到 Controller

c# - 用户在这台机器上没有被授予请求的登录类型