使用MVC4视图中的以下代码生成select元素
@Html.DropDownList(
"abPrintYearsMode",
new List<SelectListItem>{
new SelectListItem { Text = "Lifetime", Value = "1" },
new SelectListItem { Text = "Manual", Value = "2" }
},
new { @class = "required" }
)
,呈现以下HTML
<select class="required" id="abPrintYearsMode" name="abPrintYearsMode">
<option value="1">Lifetime</option>
<option value="2">Manual</option>
</select>
如何让select元素保留用户在回发中选择的值?目前,即使用户选择“手动”选项#2,也会在回发后始终选择最上面的选项“Lifetime”。
答案 0 :(得分:2)
试
@Html.DropDownListFor( x => x.abPrintYearsMode,
new List<SelectListItem>{
new SelectListItem { Text = "Lifetime", Value = "1" },
new SelectListItem { Text = "Manual", Value = "2" }
},
new { @class = "required", id= "abPrintYearsMode"}
)
答案 1 :(得分:0)
您是否尝试将autopostback属性设置为true?
Dropdown Box具有属性autopostback whcih,如果设置为true则触发事件。因此,当用户在组合框中选择不同的值时,将在服务器中触发事件。即请求将被发送到服务器
答案 2 :(得分:0)
您需要视图使用的模型上的属性,该属性将包含下拉列表的选定值。在您的情况下,此属性需要是:
public int abPrintYearsMode { get; set; }