次のコードを使用しています。
$http({
method: 'GET',
url: '/Admin/GetTestAccounts',
data: { applicationId: 3 }
}).success(function (result) {
$scope.testAccounts = result;
});
このコードは、以下をサーバーに送信します。
http://127.0.0.1:81/Admin/GetTestAccounts
これが MVC コントローラーによって受信されると、次のようになります。
[HttpGet]
public virtual ActionResult GetTestAccounts(int applicationId)
{
var testAccounts =
(
from testAccount in this._testAccountService.GetTestAccounts(applicationId)
select new
{
Id = testAccount.TestAccountId,
Name = testAccount.Name
}
).ToList();
return Json(testAccounts, JsonRequestBehavior.AllowGet);
}
applicationId がないことを訴えます。
パラメーター ディクショナリに、メソッドの null 非許容型 'System.Int32' のパラメーター 'applicationId' の null エントリが含まれています
applicationId がパラメーターとして送信されない理由を説明できますか? 以前は、次の非Angularコードでこれを行っていましたが、うまくいきました:
$.ajax({
url: '/Admin/GetTestAccounts',
data: { applicationId: 3 },
type: 'GET',
success: function (data) {
eViewModel.testAccounts(data);
}
});