asp.net mvc 4 Web アプリケーションには、選択したユーザーにメールを送信するためにチェックボックス付きのカスタム列を追加した剣道グリッド (ExternalUserList という名前) があります。私がしていることは、ユーザーのデータベース ID を json 形式で 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 では動作しません。実際、剣道グリッドからたとえば 3 人のユーザーを選択した場合、ビジュアル スタジオ デバッガーは、IDList<string>
に 3 つの要素があるが、値が空であることを示します。IE と Chrome の値は完全に正しいです。
それで、それは間違っていますか?