【发布时间】:2017-05-02 12:15:05
【问题描述】:
我有这个选择列表:
控制器:
ViewBag.SagId = new SelectList(db.Sags, "Id", "Emne", 7);
list 一切正常,但选择的值不是 == 7,
查看:
@Html.DropDownListFor(x => x.SagId,(IEnumerable<SelectListItem>) ViewBag.SagId,
new
{
@class = "selectpickers",
data_show_subtext = "true",
data_live_search = "true"
})
这可能是我错过的一些愚蠢的事情?
【问题讨论】:
-
模型绑定通过绑定到您的属性值来工作。在将模型传递给视图之前,在 GET 方法中将
SagId的值设置为7,它将被选中。绑定到属性时,SelectList构造函数的第 4 个参数将被忽略 -
我不希望它总是 7,只是一个测试希望它是一个可以根据他们访问的站点而改变的 int。
-
实际值是多少并不重要。您需要设置属性
SagId的值,如果它与其中一个选项值匹配,它将被选中(否则将选择第一个选项,因为必须这样做) - 这就是模型绑定的工作原理。 -
嗯,SagsId 上有一个值 = 7。首先认为我也在寻找。
-
所以你是说,我应该在我的get中设置它?你会怎么做?
标签: asp.net-mvc razor