我在这个模型中有一个名为 QA 的模型我有一个外键 SectionId。创建 QA 时,SectionId 获取名为“未分类”的部分的 ID,如图所示
public async Task<IActionResult> Create(CreateQAViewModel qA)
{
var qa = mapper.Map<QA>(qA);
qa.SectionId = UnclassifiedIds.UnClassifiedSectionId;
qa.CaseNumber = Randomizer.GetAUniqueString(qaS.Select(q => q.CaseNumber).ToList(),
(int)Num(qa), true);
// code
注册 QA 后,管理员回答问题并将 QA 移至右侧部分,因此我创建了一个提供 IEnumerable< SelectListItem > 的服务,如图所示
public async Task<IEnumerable<SelectListItem>> GetSectionsIdAsync()
{
var SectionsLists = await uoW.SectionsRepository.GetAllSectionsAsync();
return SectionsLists.Select(vl => new SelectListItem
{
Text = vl.Title.ToString(),
Value = vl.Id.ToString(),
Selected = false
}).Distinct();
}
我将此服务注入到视图中,如下所示:
@inject ISelectServices service
<div class="form-control">
<select asp-for="SectionId" asp-items="@await service.GetSectionsIdAsync()" class="form-select">
<option selected="selected" value="">
please choose a section
</option>
</select>
<span asp-validation-for="SectionId" class="text-danger"></span>
</div>
我想向用户显示的选项是“请选择一个部分”,但它一直显示“未分类”,因为它是项目的当前值 (qa)。如上所示,我已经在 SelectListItems 中将属性 selected 设置为 false,并在视图中使用了属性 selected="selected",但它仍然显示“未分类”。我怎样才能让它总是显示选项请选择一个部分?