我正在尝试为以下课程列表创建一个Dropdownlist:
public class PrimulaPositionViewModel
{
public long Id { get; set; }
public Dictionary<string, string> Name { get; set; }
}
在我的cshtml视图中,我这样调用dropdownlist:
@Html.DropDownList("Position", new SelectList(Model.Positions, "Id", "Name['sv']",
guise.PrimulaPositionId))
我的问题是“ Name ['sv']”没有获得字典中保存的值,而是使程序抛出错误。如果我只写Name,那么我会得到一个错误,但是dropdownlist只是输出system.gen ......来代表字典。
所以我想知道当我在视图中创建SelectList时如何访问Name [“ sv”]值。
我们通常将PropertyName作为dataTextField放在SelectListItem中。如果要使用字典,则可以使用<select></select>
,并将Id和Name ['sv']放入foreach的选项中:
<select>
@foreach (var item in Model.Positions)
{
if (item.Id == guise.PrimulaPositionId)
{
<option id="@item.Id" selected>@item.Name["sv"]</option>
}
else
{
<option id="@item.Id">@item.Name["sv"]</option>
}
}
</select>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句