【发布时间】:2021-09-30 20:03:57
【问题描述】:
我正在使用 ASP.net 和 SQL 查询。在 SQL 中,我有类似于这些的表,名为 Departments 和 SubDepartments
| DepartmentID | DepartmentName |
|---|---|
| 1 | Department1 |
| 2 | Department2 |
| SubDepartmentID | SubDepartmentName | DepartmentID |
|---|---|---|
| 1 | SubDepartment1 | 2 |
| 2 | SubDepartment2 | 2 |
| 3 | SubDepartment3 | 1 |
在 asp.net 中,我需要运行类似于此的查询
SELECT SubDepartmentID FROM SubDepartments WHERE DepartmentID = '2'
这会给我结果
| SubDepartmentID |
|---|
| 1 |
| 2 |
但是,我需要像这样动态地执行此操作
SELECT SubDepartmentID FROM SubDepartments WHERE DepartmentID = '*Dynamic Value*'
在我看来,动态值是根据模型的下拉值给出的。
我尝试过在 asp.net 中查看动态编辑 SQL 查询的不同方法,但似乎没有什么对我有用。
我的目标最终是有一个部门ddl,子部门ddl,机器ddl,设备ddl,然后是问题ddl。我最终需要一个查询来读取所有这些值并仅返回属于所选部门、子部门、机器和设备的问题。只是完成部门和子部门之间的连接应该足以弄清楚如何做到这一点。
编辑: 到目前为止我的视图代码是这样的
<script src="~/Scripts/jquery/jquery-3.3.1.min.js"></script>
<script src="~/Scripts/jquery/bootstrap.min.js"></script>
<script type="text/jscript">
$(function () {
$("#Departmentddl").change(function () {
alert($('option:selected').val());
});
});
</script>
<div class="form-group" id="Departmentddl">
<label asp-for="DepartmentId" class="control-label"></label>
<select asp-for="DepartmentId" class="form-control" asp-items="ViewBag.DepartmentId"></select>
</div>
<div class="container" id="SubDepartmentddlOther">
<div class="form-group" id="SubDepartmentddl">
<label asp-for="SubDepartmentId" class="control-label"></label>
<select asp-for="SubDepartmentId" class="form-control" asp-items="ViewBag.SubDepartment"></select>
</div>
</div>
注意:ViewBag.Department 有效,但 ViewBag.SubDepartment 没有值。
我还应该补充一点,我的控制器名为“RecordEntriesController”
再次编辑:
我现在正在使用它来尝试填写下拉列表。它正在工作,但没有使用我的变量 NumberValue 和 NameLabel。我如何使这些正确?这是我的 JSON,下面是 jscript。我在控制器中创建了 JSON,因此如果格式不正确,可以对其进行更改。
{"NumberValue":"5","NameLabel":"SubDepartment1"},{"NumberValue":"8","NameLabel":"SubDepartment2"}
<script type="text/jscript">
$(function () {
$("#ddlDepartments").change(function () {
var selectedid = $('option:selected').val();
if (selectedid > 0) {
$.ajax({
url: "/RecordEntries/PopulateddlSubDepartments",
data: {
id: selectedid
},
type: "Post",
dataType: "json",
success: function (data) {
alert(data);
var ddldist = $('#ddlSubDepartments');
$.each(data, function (NumberValue, NameLabel) {
ddldist.append(
$('<option></option>').val(NumberValue).html(NameLabel)
);
});
},
});
}
});
});
</script>
【问题讨论】:
-
您使用什么技术与数据库通信?是asp mvc吗?
-
@MeysamaAsadi 是的,我正在使用 MVC
-
你的问题不清楚,是用entityframework还是ado?
-
实体框架。抱歉,这是我的第一个项目,我什至不知道其中的一些含义。我正在使用 MVC 控制器和使用实体框架的视图。如果有区别的话,它也是 asp.net Core。
-
你先做代码还是先做模型?
标签: c# sql asp.net sql-server asp.net-core