为什么DropDownListFor的默认值无法正常工作?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么DropDownListFor的默认值无法正常工作?相关的知识,希望对你有一定的参考价值。
无论出于何种原因,我的html.DropDownListFor的默认值不起作用:
@Html.DropDownListFor(model => model.DomainList,
new SelectList(Model.DomainList, "DomainId", "Name", Model.SingleDomain.DomainId),
new { @class = "form-control" })
知道为什么吗?
UPDATE
在下面的答案中,我将我的代码更新为以下内容:
@Html.DropDownListFor(model => model.SelectedDomain,
new SelectList(Model.DomainList, "DomainId", "Name", Model.SelectedDomain),
"Select a Domain",
new { @class = "form-control" })
试试这个:
在ViewModel中,添加一个整数来存储选定的域ID:
public int SelectedDomainId { get; set; }
将DropDownListFor更改为:
@Html.DropDownListFor(model => model.SelectedDomainId,
new SelectList(Model.DomainList, "DomainId", "Name", Model.SingleDomain.DomainId),
new { @class = "form-control" })
现在,在您的回发后,所选的ID将发布在SelectedDomainId中。
或者,您可以将单个域对象添加到VM(以指示选择了哪个):
public Domain SelectedDomain { get; set; }
并将DropDownListFor更改为:
@Html.DropDownListFor(model => model.SelectedDomain,
new SelectList(Model.DomainList, "DomainId", "Name", Model.SingleDomain.DomainId),
new { @class = "form-control" })
我通常使用所选的ID,但我认为要么应该工作
这是另一个很好的例子:
MVC3 DropDownListFor - a simple example?
如果有人遇到Html.DropdownList
的麻烦,请记住
@Html.DropDownList("Country", ViewBag.Country as List<SelectListItem>)
- >不选择默认值
@Html.DropDownList("Countries", ViewBag.Country as List<SelectListItem>)
- >选择默认值
有关更多详细信息,请参阅:http://www.binaryintellect.net/articles/69395e7d-7c7c-4318-97f5-4ea108a0da97.aspx
以上是关于为什么DropDownListFor的默认值无法正常工作?的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET @Html.DropDownListFor() 选择的值设置为 true 但提交给控制器时返回 false
Razor Html.DropDownListFor 自动设置选中值
将递增 ID 连接到 @DropDownListFor id 值