特定のアクションが発生したときに、コントローラーからビューに json データを送信したいと考えています。
これをコントローラーで使用してデータを送信しました
[HttpGet]
public JsonResult JSONGetParking(int buildingID){
return this.Json(
new
{
Result = (from obj in db.Parkings.Where(p => p.buildingID == buildingID) select new { ID = obj.ID, Name = obj.note })
}
, JsonRequestBehavior.AllowGet
);
}
それはとてもうまくいきます
私のスクリプトでは、これを使用しました:
FloorScript.js
$(document).ready(function () {
$('#buildingID').change(function () {
alert("what is not");
$.getJSON('JSONGetParking?buildingID=' + $('#buildingID').val(), function (data) {
alert("afd");
var items = " ";
$.each(data, function (obx, oby) {
items += "<option value='" + oby.ID + "'>" + oby.Name + "</option>";
});
$('#parkingID').html(items);
});
});
});
Google chrome を開いたところ、リクエストとレスポンスが次のように表示されます。
警告した2 つのテキストが表示されます
ただし、私のセレクターでは、undefined value
HTML
<div id="editor-label">
<select id="parkingID" name="parkingID"></select>
</div>
これにjqueryを追加しました
@section scripts {
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/Scripts/FloorScript.js");
}