У меня есть небольшой проект c asp. net core mvc, когда я создал представление Razor с каскадом раскрывающегося списка, я использовал Jquer Ajax, чтобы получить результат первого раскрывающегося списка, вызвав действие контроллера, который у меня есть Во втором раскрывающемся списке ничего нет. Я тестирую действие контроллера. Я получаю JsonResult: результат, например
[{"id_local":1,"metrage":150.0,"prix_vente":950000.0,"numAct":1,"activite":null,"type_local":"Commerce","num_Centre":1,"centre_Commercial":null},{"id_local":4,"metrage":190.0,"prix_vente":850000.0,"numAct":1,"activite":null,"type_local":"Commerce","num_Centre":1,"centre_Commercial":null}]
, просмотрите Razor под моим кодом:
@{
ViewBag.Title =
"Vue Razor ";
}
<script src="~/lib/jquery/dist/jquery.js"></script>
<h2>Controle_WCS</h2>
<div class="row">
<div class="form-group">
@Html.DropDownList("ddlCentre", ViewBag.Centre_Commercial as List<SelectListItem>,
" -- Sélectionnez Centre Commercial --", new { @class = "form-control" })
<br />
@Html.DropDownList("ddlLocal", new List<SelectListItem>(),
" -- Sélectionnez Local --", new { @class = "form-control" })
</div>
</div>
@section scripts {
<script>
$(document).ready(function () {
$("#ddlCentre").change(function () {
//$("#ddlLocal").empty().append('<option>-- Sélectionnez Local --</option>');
var id = $(this).val();
alert('ID'+id);
if (id != "")
$.ajax({
url:"@Url.Action("GetLocalsList")",
type:"POST",
data:'Num_Centre='+id,
cache: false,
contentType: "application/json;charset=utf-8",
// data:"id_local="+id,
dataType:"json",
success:function (data) {
var json = $.parseJSON(data); // create an object with the key of the array
alert(json);
console.log(data);
$.each(data, function (index, row) {
$("#ddlLocal").append("<option value='" + row.id + "'>" + row.id + "</option>")
});
},
error: function (req, status, error) {
alert(error);
}
});
});
});
</script>
}
Контроллер действий:
[HttpGet]
public JsonResult GetLocalsList(int id)
{
List<Local> lstLocal= new List<Local>();
lstLocal = objLocal.GetLocalsData(id).ToList();
return Json(lstLocal);
}
Заранее спасибо