我需要在下拉菜单中设置所选项目
<div class="form-group">
<label asp-for="Transaction.CCurrency" class="control-label"> Currency </label>
@(Html.DropDownList("CurrencyDropDownList", Model.Currency, "--Choose currency--", new { @class = "form-control" }))
<span asp-validation-for="CurrencyDropDownList" class="text-danger"></span>
</div>
我正在控制器中填充它
model.Currency = database.ZCurrency.Where(x => x.LActive == true).Select(c => new SelectListItem
{
Value = c.CCode.ToString(),
Text = c.CName,
});
这是我的视图模型
public IEnumerable<SelectListItem> Currency { get; set; }
但是,我不知道如何从数据库中进行设置,我可以通过它访问CCode和Cname,但不能进行设置。这是在我的EDIT表单中,在这里我需要查看以前拥有的值,并在需要时将其重新设置为另一个值。
非常感谢您的帮助。
答案 0 :(得分:0)
您只需在SelectListItem中将selected属性设置为true,这将默认在页面中选择此选项。我根据您的代码制作了一个简单的演示,如下所示:
查看:
LogLevel
型号:
<div class="form-group">
@(Html.DropDownList("CurrencyDropDownList", Model.Currency, "--Choose currency--", new { @class = "form-control" }))
</div>
控制器:
public class ZCurrency
{
public int CCode { get; set; }
public string CName { get; set; }
}
public class ViewModel
{
public IEnumerable<SelectListItem> Currency { get; set; }
}
在这里,我通过将Selected设置为true来设置CCode为2的记录(新的ZCurrency {CCode = 2,CName =“ BBB”})作为选定项。