1

在 MVC4 视图中使用以下代码生成选择元素

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

如何让选择元素保留用户在回发时选择的值?目前,即使用户选择“手动”选项#2,在回发后始终选择最顶部的选项“生命周期”。

4

3 回答 3

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"}
)
于 2013-07-17T17:07:23.350 回答
0

您需要视图使用的模型上的一个属性,该属性将包含下拉列表的选定值。在您的情况下,此属性需要是:

public int abPrintYearsMode { get; set; }
于 2013-07-12T19:42:43.943 回答
0

您是否尝试将 autopostback 属性设置为 true?

下拉框具有 autopostback 属性,如果设置为 true,则会触发事件。因此,当用户在组合框中选择不同的值时,服务器中将触发一个事件。即一个请求将被发送到服务器

参考

于 2013-07-12T19:29:18.357 回答