我使用LINQ表达式获得了一个列表:
List<RegionViewModel> regionList = (from rs in db.Regions
select new RegionViewModel
{
RegionId = rs.RegionId,
RegionName = rs.RegionName
}).ToList();
,此列表的数据为:
RegionId RegionName
1A349553-E07E-4051-8E07-0144490282BF Bangalore
1D0DA75D-D9C6-4787-9529-4F0BC2280112 USA
4F756192-4FCE-493A-9126-556F131FDBB2 Manila
E81D6D99-D4A8-4806-8718-B8552EA90FD2 Kolkata
402C0EC4-D085-4E09-9D0F-EE72AD104A41 Delhi
1DAC67BB-F2F8-4353-9BB1-FFA4B22B439D Global
我试图将列表分配给一个包含所选项目为加尔各答的视图包:
ViewBag.Regions = new SelectList(regionList, "RegionId", "RegionName", Guid.Parse("E81D6D99-D4A8-4806-8718-B8552EA90FD2"));
这是我在View上的下拉列表:
Html.DropDownList("Regions", (SelectList)ViewBag.Regions, new { @class = "dropDown-field" })
ISSUE: 渲染时,下拉列表将显示所选项目班加罗尔,该项目应该是加尔各答,
请告知我错过了什么。提前谢谢
答案 0 :(得分:2)
我认为你会以Guid
作为字符串引导,因为html将呈现一个字符串,并且它不知道如何使用Guid来处理样本。
将RegionId更改为字符串。
List<RegionViewModel> regionList = (from rs in db.Regions
select new RegionViewModel
{
RegionId = rs.RegionId.ToString(),
RegionName = rs.RegionName
}).ToList();
ViewBag.Regions = new SelectList(regionList, "RegionId", "RegionName", "E81D6D99-D4A8-4806-8718-B8552EA90FD2");
当您收到帖子上的值时,您可以使用Guid.Parse