【发布时间】:2021-08-19 06:47:17
【问题描述】:
我正在尝试在 Excel 中创建类似于组合框的内容。选择站点将自动选择 JobNum 和 Manager。 Site、JobNum 和 Manager 来自名为 master 的单独表。目前在我正在尝试做的创建表单中,它们都是从数据库主表中提取的下拉列表。
编辑 - 忘了提到主表有一个简单的 ID,只是从 1 开始的增量。添加了一张图片,说明它在数据库中的外观
This is how it currently looks
How I want it to be - selecting site, autofills the bottom two
Master Table from DB showing all columns
选择列表代码:
public SelectList PYSiteSL { get; set; }
public SelectList PYManagerSL { get; set; }
public SelectList PYJobNumSL { get; set; }
public void PopulateSiteDropDownList(FinanceAppARContext _context, object selectedSiteList = null)
{
var siteQuery = from s in _context.master
select s.Site;
PYSiteSL = new SelectList(siteQuery.Distinct().AsNoTracking(), selectedSiteList);
}
public void PopulateManagerDropDownList(FinanceAppARContext _context, object selectedManagerList = null)
{
var managerQuery = from m in _context.master
select m.Manager;
PYManagerSL = new SelectList(managerQuery.Distinct().AsNoTracking(), selectedManagerList);
}
public void PopulateJobNumDropDownList(FinanceAppARContext _context, object selectedJobNumList = null)
{
var jobnumQuery = from j in _context.master
select j.JobNum;
PYJobNumSL = new SelectList(jobnumQuery.Distinct().AsNoTracking(), selectedJobNumList);
}
private readonly FinanceApp.Models.FinanceAppARContext _context;
public CreateModel(FinanceApp.Models.FinanceAppARContext context)
{
_context = context;
}
public IActionResult OnGet()
{
PopulateSiteDropDownList(_context, PYSiteSL);
PopulateManagerDropDownList(_context, PYManagerSL);
PopulateJobNumDropDownList(_context, PYJobNumSL);
return Page();
}
这是前端.cshtml
//Site
<div class="form-group">
<label asp-for="py21.Sites" class="control-label"></label>
<select asp-for="py21.Sites" asp-items="Model.PYSiteSL" class="form-control chosen-select"><option disabled selected>-- Select Site --</option></select>
<span asp-validation-for="py21.Sites" class="text-danger"></span>
</div>
//Manager
<div class="form-group">
<label asp-for="py21.Manager" class="control-label"></label>
<input asp-for="py21.Manager" class="form-control" readonly />
@*<select asp-for="py21.Manager" asp-items="Model.PYManagerSL" class="form-control chosen-select"><option disabled selected>-- Select Manager --</option></select>*@
<span asp-validation-for="py21.Manager" class="text-danger"></span>
</div>
//JobNum
<div class="form-group">
<label asp-for="py21.JobNum" class="control-label"></label>
<input asp-for="py21.JobNum" class="form-control" readonly />
@*<select asp-for="py21.JobNum" asp-items="Model.PYJobNumSL" class="form-control chosen-select"><option disabled selected>-- Select Job Number --</option></select>*@
<span asp-validation-for="py21.JobNum" class="text-danger"></span>
</div>
编辑了@StriplingWarrior 所说的内容,一个错字。
【问题讨论】:
-
您是否注意到您在最后一个
<input上留下了asp-for="py21.Manager"? -
哦,天哪,是的,谢谢你的现场,我很快就为这个问题编辑了它,因为它最初是没有解决方案的选择列表,所以它是一个复制粘贴。 @StriplingWarrior
标签: c# asp.net linq asp.net-core razor-pages