在asp.net mvc 4 Web应用程序中,我有一个kendo网格(名为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调试器会显示id List<string>
有3个元素,但值为空。在IE和Chrome中,值非常正确。
它错了吗?
答案 0 :(得分:0)
这很可能与您的客户端代码有关。我猜这就是这条线
ids.push(proId[0].innerText);
尝试使用Firebug进行调试,以查看返回的内容。您可能还想使用jQuery的方法.text()
或.html()
,具体取决于您感兴趣的内容。