gpt4 book ai didi

razor-pages - Razor Pages SelectListItem 未选中

转载 作者:行者123 更新时间:2023-12-04 14:23:03 28 4
gpt4 key购买 nike

我正在处理一个 ASP.net Razor 页面,但在使用选择列表的标签助手时遇到了问题。
特别是 SelectListItem 的 selected-property。

我从我的数据库中获得了一个操作系统列表,其中一个是通过 DeviceId 分配给设备的。

当我启动页面时,我假设选择了“设备绑定(bind)”操作系统。设备 id 由 OnGet-Method 的参数通过 int id 发布。

这是检查设备是否绑定(bind)操作系统的代码。它将返回操作系统的 db-id。

var SelectedOperatingSystemId = await _context.LicenseRelationships
.Include(lr => lr.License)
.ThenInclude(l => l.Software)
.Where(lr => lr.DeviceMetaDataId == id)
.Select(x => x.License.Software.Id)
.SingleOrDefaultAsync();

这是调试器的输出:
enter image description here

之后,我用这种代码的和平创建了一个 IEnumerable:
OpertaingSystemsList = await _context.Softwares
.Where(s => s.IsOperatingSystem == true)
.OrderBy(s => s.Name)
.Select(s => new SelectListItem
{
Value = s.Id.ToString(),
Text = s.Name,
Selected = s.Id == SelectedOperatingSystemId
})
.ToListAsync();

因此,当 db-id 等于变量 SelectedOperatingSystemId 时,应该选择 select 的选项。这是调试器的输出,这是正确的,也是我假设的:

enter image description here

但这是页面的呈现代码。应该选择值 2:

enter image description here

这是 Html 标记:
<div class="form-group">
<label asp-for="OperatingSystemId"></label>
<select asp-for="OperatingSystemId" asp-items="Model.OpertaingSystemsList" class="form-control">
<option value="">Betriebssystem wählen</option>
</select>
</div>

我对这种行为没有任何解释。这可能是一个错误吗?或者有人看到我的编程有错误吗?
谢谢,帕特里克

最佳答案

我的天啊!解决方案很简单,但记录最糟糕。
在 Razor Pages 中,不再使用 SelectListItem 属性 Selected。

看这里:LearnRazorPages.com

您需要做的是将选定的值分配给您在 Select 列表中用于 aps-for 的属性。

这是你的房子吗:

[BindProperty]
public int OperatingSystemId { get; set; }

您的 Select 在它的 asp-for 中使用它,并且此属性您必须在我的情况下分配选定的值,这是在代码代码中完成的:
OperatingSystemId = await _context.LicenseRelationships
.Include(lr => lr.License)
.ThenInclude(l => l.Software)
.Where(lr => lr.DeviceMetaDataId == id)
.Select(s => s.License.Software.Id)
.SingleOrDefaultAsync();

最后,选择标记必须如下所示:
<label asp-for="OperatingSystemId"></label>
<select asp-for="OperatingSystemId" asp-items="Model.OpertaingSystemsList">
<option value="">Choose Operating System</option>
</select>

我希望这也能帮助任何发疯的人

关于razor-pages - Razor Pages SelectListItem 未选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51764866/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com