Dropdownlist没有获得选定的价值?

时间:2017-04-17 17:18:16

标签: asp.net-mvc

我有一个DropdownlistFor,它没有获得在DDL中选择的值。我已经做了一些研究并尝试实施我见过的一些建议,但我仍然没有工作。

我正在使用IEnumberable和string属性来保存我的ViewModel中的选定值。

public IEnumerable<SelectListItem> AvailableSeats { get; set; }
public string Seat { get; set; }

创建ViewModel时,我将Seat属性设置为初始值。

Seat = "FO";

这就是我填充SelectListItem的方式。 “FO”总是一个选项,但他们有“CA”我也将它添加到SelectList中。

public static List<SelectListItem> GetAvailableSeats(string currentSeat)
{
    List<SelectListItem> seats = new List<SelectListItem>();
    seats.Add(new SelectListItem { Text = "FO", Value = "FO" });
    if (currentSeat.ToUpper() == "CA")
        seats.Add(new SelectListItem { Text = "CA", Value = "CA", Selected = true });

    return seats;
}

这是我的剃刀视图:

@Html.DropDownListFor(m => m.Seat, Model.AvailableSeats, new { @class = "form-control" })

生成的HTML是:

<select class="form-control" id="Seat" name="Seat">
<option value="FO">FO</option>
<option selected="selected" value="CA">CA</option>
</select>

但是,当我选择“FO”作为我的选项然后提交我的表单时,ViewModel仍然具有“CA”。

1 个答案:

答案 0 :(得分:0)

经历了这个后,我终于偶然发现了这个问题 post

我发布以防万一可以帮助其他人。在我的表格中,我正在分配&#34;座位&#34;隐藏字段@Html.HiddenFor(m => m.Seat)的属性,我没有做到这一点。摆脱那个隐藏的领域解决了这个问题。