c# - 如何从 Razor 中的不同模型填充下拉列表?
问题描述
我正在做一个项目,我有一个主模型,该模型需要包含许多其他模型并将它们显示在主模型的视图上。我似乎无法从他们那里带来我需要在下拉列表中填充的数据。
我的一个较小的模型是实体,看起来像这样:
public class Entity
{
//[Required]
public int ID { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Active { get; set; }
}
这是我试图将选择列表项带到的标记语言:
<div class="form-group">
<label asp-for="SecurityLog.EntityID" class="control-label"></label>
<select asp-for="SecurityLog.EntityID" class="form-control switch-disable" asp-items="EntityID">
<option value="">--Select Entity--</option>
</select>
<span asp-validation-for="SecurityLog.EntityID" class="text-danger"></span>
</div>
在我的 EditModel 页面上,我创建了一个实体 viewData 并且无法让结果出现在标记中。它被称为“EntityID”:
ViewData["EntityID"] = new SelectList(_context.Entity.Where(a => a.Active == "Y"), "ID", "Name");
我似乎无法让 ViewData 显示任何内容,并且一直在尝试下午的大部分时间。提前致谢!
解决方案
你很近...
可以通过ViewBag在剃刀页面上访问 ViewData EntityID 属性。
剃刀页面
<select id="entity" asp-for="SecurityLog.EntityID" class="form-control" asp-
items="ViewBag.EntityID">
<option value="">--Select Entity--</option>
</select>
OnGetAsync
ViewData["EntityID"] = new SelectList(_context.Entity.Where(a => a.Active == "Y"), "ID", "Name");
推荐阅读
- arrays - xcode 7 图像数组分配
- azure-web-app-service - 使用 AlwaysOn 的 10.0.128.25 地址作为 Azure 应用服务中的 IP 限制?
- javascript - 即使分片文件为真,测试也会在量角器中按顺序运行
- wordpress - Wordpress post_type 在插入/更新帖子之前需要 post_title
- ios - 如何更改 JSON 键名 Swift?
- php - mysql加入多个值的子查询
- python - 如果字符串包含“XX”然后改变颜色...Write_rich_string 到 Panda Dataframe?
- python - 如何在 Python 烧瓶应用程序中对 main() 函数进行行分析?
- robotics - 在辣椒机器人中将项目保存为默认值的问题
- javascript - 如何覆盖文本
使用 JavaScript 标记