我有以下類別模型:
public class CategoryDTO
{
public int Id { get; set; }
public string Name { get; set; }
public List<SelectList> WarehouseNames { get; set; }
}
倉庫型號:
public class Warehouse
{
public int Id { get; set; }
public string Name { get; set; }
public string Location { get; set; }
public int MaxCapacity { get; set; }
}
我想在我的資料庫中獲取所有 Warehouse.Id 和 Warehouse.Name 并將它們存盤在 CategoryDTO.WarehouseNames(值:Id,文本:名稱)中,以便我可以在下拉串列中顯示它們。有人知道我該怎么做嗎?
uj5u.com熱心網友回復:
修復Dto到List,也許你也需要添加一個WarehouseId???
public class CategoryDTO
{
public int Id { get; set; }
public string Name { get; set; }
public int WarehouseId { get; set; } //????
public List<SelectListItem> WarehouseNames { get; set; }
}
在你的行動應該是這樣的
var model= new CategoryDTO();
var wareHouseNames = context.Set<Warehouse>()
.Select ( i=> new SelectListItem {
Text = i.Name,
Value = i.Id
}).ToList();
model.WareHouseNames = wareHouseNames ;
return View(model)
并查看
@model CategoryDTO
<select class="form-control" asp-for="@WarehouseId" asp-items="@WareHouseNames">
<option value="0" >Select</option>
</select>
uj5u.com熱心網友回復:
您可以將“公共串列”放入字典,并使用“倉庫”物件中的鍵作為 Id 和值作為名稱。
uj5u.com熱心網友回復:
我認為您想完全WarehouseNames從型別中洗掉該屬性CategoryDTO,而不是填充一個CategoryDTO物件填充 a List<CategoryDTO>or (甚至更好!) IEnumerable<CategoryDTO>。
然后,您將能夠將這些 CategoryDTO 專案映射到下拉串列/HTMLSelect物體。但是,具體情況取決于您的問題中尚未包含的資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/496135.html
標籤:C# 网 asp.net-mvc 实体框架 林克
上一篇:MakeGenericMethodthrowsVerificationException:MethodMyClass.Calculate:typeargumentCityList'違反了型別
