我有问题显示与Html.DropDownListFor选定的值。我有一个观点,使用多个下拉菜单,他们都被填充,但没有被选中。每个下拉菜单都有相同的选择选项,但选择的值不同。 这里是我的视图模型:DropDownListFor不显示选定的值
public class ViewPersonTargetingViewModel
{
public List<PersonTarget> Targets { get; set; }
public SelectList TargetStatuses { get; set; }
}
这就是我做的SelectList:
var statuses = DataAccess.GetPersonTargetStatuses();
TargetStatuses = new SelectList(statuses, "PersonTargetStatusUuid", "PersonTargetStatusName");
我PersonTarget类:
public class PersonTarget
{
public string PersonTargetStatusName { get; set; }
public Guid PersonTargetStatusUuid { get; set; }
//and more
}
这就是我如何创建一个DropDownList:
<%: Html.DropDownListFor(model => model.Targets[k].PersonTargetStatusUuid, Model.TargetStatuses)%>
其中k是通过Targe的迭代列表。
我用同样的SelectList来填充所有的下拉菜单中,它包含了这样的信息:
- 文字:一个值:b2e4a939-06d8-4052-8abf-5c1b2a5e8591
- 文字:B值: 0b59faaa-514D-4212-93cd-6b0a50b8f151
- 文本:C值:5575f3cf-33f8-41df-be73-a176a3db5ed5
例如,当我试图让它显示 “B”,我给他正确的目标地位,但它仍然显示第一个元素(“A”)被选中,我甚至会打印出我给他的值,并且我得到Model.Targets[k].PersonTargetStatusUuid
的值为:0b59faaa-514d-4212-93cd-6b0a50b8f151(它是“B”的Guid),但它仍然显示“A”。我跑出了想法如何解决这个问题。任何帮助非常感谢,谢谢:)。
之前试过,没有工作。后来我发现DropDownListFor实际上不使用SelectList中的SelectedValue属性,它只是像普通List一样使用SelectList。 –