C# 如何在提交后使选定值的DropDownList保持不变
以下代码块用于使DropDownList for的选定值在提交后保持不变:C# 如何在提交后使选定值的DropDownList保持不变,c#,asp.net-mvc,C#,Asp.net Mvc,以下代码块用于使DropDownList for的选定值在提交后保持不变: @Html.DropDownListFor(x => Model.Value, new SelectList(Model.Values, @Model.Value)) 在此代码块中,Model.Values是字符串列表,@Model.Value指定要选择的值 这段代码工作得很好,但我正试图用SelectListItems列表(而不是字符串列表)做同样的事情。在下面的代码Model.Values中是SelectLi
@Html.DropDownListFor(x => Model.Value, new SelectList(Model.Values, @Model.Value))
在此代码块中,Model.Values
是字符串列表,@Model.Value
指定要选择的值
这段代码工作得很好,但我正试图用SelectListItem
s列表(而不是字符串列表)做同样的事情。在下面的代码Model.Values
中是SelectListItem
s的列表
@Html.DropDownListFor(x => Model.Value, Model.Values, Model.Value,
new
{
id = "ValueDD", onchange = "this.form.submit()"
})
是否可以像我在第一个代码块中所做的那样使用
@Model.Value
来设置所选值?SelectListItem
有一个属性selected
,需要为所选项目设置该属性,请参阅
因此,在您的控制器中,您可以设置需要选择的项的
Selected
属性,假设您正在使用该控制器构建模型值列表。是的,我尝试过(并且成功了),但我非常喜欢使用@Model.Value
的简单性。然而,我想我可以理解为什么@Model.Value
不起作用:在第一个示例中,在视图中创建了列表
,因此我还可以在视图中设置所选的
值。但是,在第二个示例中,列表
是在控制器中创建的,因此需要在控制器中设置所选的
值。是的,我相信您可以在创建下拉列表
之前在视图中迭代模型.值
列表,但这充其量只是一个小问题