Asp.net mvc 3 @html.dropdownfor未选择默认值

Asp.net mvc 3 @html.dropdownfor未选择默认值,asp.net-mvc-3,html.dropdownlistfor,Asp.net Mvc 3,Html.dropdownlistfor,我在asp.net mvc3中有上面的代码来填充下拉列表。数据已填充,但选定项是模型结果的第一项。我正在尝试将默认选定值设置为“请选择”。如何操作?在控制器操作中,您应该将SelectedProperty的值设置为要预选的项的值: @Html.DropDownListFor(x => x.SelectedProperty, Model.Property, "Please Select") 这显然是假设Porperty包含这样一个值: model.SelectedProperty = "5

我在asp.net mvc3中有上面的代码来填充下拉列表。数据已填充,但选定项是模型结果的第一项。我正在尝试将默认选定值设置为“请选择”。如何操作?

在控制器操作中,您应该将
SelectedProperty
的值设置为要预选的项的值:

@Html.DropDownListFor(x => x.SelectedProperty, Model.Property, "Please Select")
这显然是假设
Porperty
包含这样一个值:

model.SelectedProperty = "5";
通过设置
model.SelectedProperty=“5”
,带有
Value=“5”
的项目将由
Html.DropDownListFor
帮助程序自动预选

另一方面,如果希望显示
“请选择”
默认值,请确保在控制器操作中将
SelectedProperty
设置为
null
,而不是项目中包含的某个值

model.Property = new[]
{
    new SelectListItem { Value = "1", Text = "item 1" },
    new SelectListItem { Value = "2", Text = "item 2" },
    new SelectListItem { Value = "3", Text = "item 3" },
    new SelectListItem { Value = "4", Text = "item 4" },
    new SelectListItem { Value = "5", Text = "item 5" },
    new SelectListItem { Value = "6", Text = "item 6" },
};