gpt4 book ai didi

asp.net-mvc-5 - 为什么我的 DropDownListFor 的默认值不能正常工作?

转载 作者:行者123 更新时间:2023-12-02 07:31:33 26 4
gpt4 key购买 nike

无论出于何种原因,我的 Html.DropDownListFor 的默认值不起作用:

@Html.DropDownListFor(model => model.DomainList,
new SelectList(Model.DomainList, "DomainId", "Name", Model.SingleDomain.DomainId),
new { @class = "form-control" })

知道为什么吗?

更新

根据下面的答案,我将代码更新为以下内容:

@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?

关于asp.net-mvc-5 - 为什么我的 DropDownListFor 的默认值不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21077009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com