【发布时间】:2021-10-05 03:27:26
【问题描述】:
我需要从基于 SQL Server 数据库创建的 JSON 中选择值,并将它们作为值选择添加到下拉列表中。我正在使用 asp.net MVC。一切似乎都在工作,除了我不知道如何从我的 Json 中选择“值”和“名称”并使用它们。我需要帮助的只是选择这些变量并在代码中使用它们。
这是我的javascript函数
$(function () {
$("#ddlDepartments").change(function () {
var selectedid = $('option:selected').val();
var ddlSubDepartments = $("#ddlSubDepartments"); //get the dropdownlist
if (selectedid > 0) {
$.ajax({
url: "/RecordEntries/PopulateddlSubDepartments",
data: {
id: selectedid
},
type: "Post",
dataType: "Json",
success: function (data) {
alert(data);
ddlSubDepartments.html("");
ddlSubDepartments.append($('<option></option>').val("").html("Please select a Sub Department"));
for (var i = 0; i < data.length; i++) {
ddlSubDepartments.append($('<option></option>').val(value[i]).html(name[i]));
}
},
error: function () {
alert('Failed to retrieve Sub Departments.');
}
});
}
});
});
而我的JSON是这样的,可以编辑成任何格式。
{"value":5,"name":"Sub Department 1"},{"value":8,"name":"Sub Department 2"}
编辑:我将添加 jscript 在开始时调用的控制器操作。
public ActionResult PopulateddlSubDepartments(int id)
{
var query = from d in _context.SubDepartments
where d.DepartmentId == id
select "{\"value\":" + d.SubDepartmentId + "," + "\"name\":\"" + d.SubDepartmentName + "\"}";
if (query == null)
ViewBag.SubDepartments = false;
else
ViewBag.SubDepartments = true;
return Json(query.ToList());
}
【问题讨论】:
标签: c# asp.net json asp.net-mvc .net-core