0

在一个 asp.net mvc 4 web 应用程序中,我有一个剑道网格(名为 ExternalUserList),我在其中添加了一个带有复选框的自定义列,以便向选定的用户发送电子邮件。我所做的是以 json 格式将用户的数据库 ID 发送到我的 mvc 控制器。

这是我的 JavaScript 代码:

<script type="text/javascript">
    function sendMailToExternalUsers() {
        var ids = [];
        var proId;
        var checkBox = $('#ExternalUsersList > table > tbody > tr td:nth-child(2) > input');

        checkBox.each(function (index) {
            var $input = $(this);

            if ($input.is(':checked')) {
                var count = index + 1;
                proId = $('#ExternalUsersList > table > tbody > tr:nth-child(' + count + ') td:first-child');
                ids.push(proId[0].innerText);
            }
        })

        var postData = JSON.stringify(ids);

        $.ajax({
            type: "POST",
            url: "/ExternalUser/SendEmailToExternalUsers/",
            data: postData,
            dataType: "json",
            contentType: "application/json",
            traditional: true
        });
    }
</script>

这是我的控制器:

[HttpPost]
public EmptyResult SendEmailToExternalUsers(List<string> ids)
{
   //Here i do some processing
}

以上所有代码在 Internet Explorer 和 Chrome 中都可以正常工作,但在 Firefox 上却不行。事实上,如果我从 kendo 网格中选择了 3 个用户,Visual Studio 调试器会显示 idsList<string>有 3 个元素,但值为空。在 IE 和 Chrome 中的值是完全正确的。

那么它有问题吗?

4

1 回答 1

0

这很可能与您的客户端代码有关。我猜是这条线

ids.push(proId[0].innerText);

尝试使用 Firebug 对其进行调试,以查看返回的内容。您可能还想使用 jQuery 的方法.text().html()取决于您感兴趣的内容。

于 2013-03-29T07:48:25.067 回答