MVC3にモーダルダイアログがあり、次のようにパラメーターをコントローラーに渡します。
$("#SelectedCSIDivisionCodes").live("click", function () {
var ID = $(this).val();
$.ajax({
type: "GET",
url: '@Url.Action("GetCSICodes", "CSICodes")',
data: { divisionID: ID },
dataType: "json",
error: function (xhr, status, error) {
alert(xhr);
alert(status);
alert(error);
// you may need to handle me if the json is invalid
// this is the ajax object
},
success: function (json) {
alert("Data Returned: " + json);
}
});
// $.getJSON(, { divisionID: ID }, function (data) {
// alert(data);
// });
});
そして、私はこのようなパラメータを受け取っています:
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult GetCSICodes(string divisionID)
{
int ID = Convert.ToInt32(divisionID);
var csiCodes = (from c in EFProject.CSICode
where c.DivisionID == ID
select c).OrderBy(x => x.CSICodeID);
List<SelectListItem> codes = new List<SelectListItem>();
foreach (var code in csiCodes)
{
codes.Add(new SelectListItem { Value = code.CSICodeID.ToString(), Text = code.Code + " " + code.Name });
}
return Json(codes.AsEnumerable(), JsonRequestBehavior.AllowGet);
}
ajax呼び出しは正常に機能しますが、コントローラーのパラメーター値を検出しません。つまり、コントローラーの変数divisionIDでのみnullを取得しています。Firefoxを使用して、値を設定しているかどうかを確認しましたが、次のURLが返されるため、Firefoxが設定しているようです。GEThttp:// localhost:1925 / CSICodes / GetCSICodes?divisionID%5B%5D = 2 [HTTP / 1.1 200 OK 95690ms]
何が間違っている可能性があるかについてのアイデアはありますか?