Cascade Dropdown NET CORE



我有点头疼,因为我不知道问题出在哪里。我有以下控制器:

public JsonResult GetActivitySubType(int typeId)
{
var data = (from a in _db.ActivitySubTypes
where a.ActivityTypeId == typeId
select new
{
a.ActivitySubTypeId, a.ActivitySubTypeName
}
).ToList();
return Json(data);
}
public IActionResult Index()
{
ViewData["ActivityTypeId"] = new SelectList(_db.ActivityTypes.OrderBy(o => o.ActivityTypeName), "ActivityTypeId", "ActivityTypeCode");
return View();
}

Then on my View。我有以下代码:

<select asp-for="ActivityTypeId" asp-items="ViewBag.ActivityTypeId"><option value="">Select</option></select>
<select id="ActivitySubTypeId" asp-for="ActivitySubTypeId"></select>
<script type="text/javascript">
$(document).ready(function () {
$("#ActivityTypeId").change(function () {
$.get("GetActivitySubType", { typeId: $("#ActivityTypeId").val() }, function (data) {
$("#ActivitySubTypeId").empty();
$.each(data, function (index, row) {
$("#ActivitySubTypeId").append("<option value='" + row.ActivitySubTypeId + "'>" + row.ActivitySubTypeName + "</option>")
});
});
})
});
</script>

当我选择ActivityType时,它会在我选择ActivitySubType时加载undefined。我错过什么了吗?

谢谢你。

响应在asp.net core中的命名约定是camel case而不是pascal case

修改如下:

$("#ActivitySubTypeId").append("<option value='" + row.activitySubTypeId + "'>" + row.activitySubTypeName + "</option>")

最新更新