0

ドロップダウンリストの値を設定しようとする多くの方法を経験しましたが、どの方法も機能していないため、愚かなことをしているに違いありません。

@Html.DropDownList("startTime", @Model.startTimeList, new { @class = "startTime", style = "width: 100px;" })

生成された30分単位のリスト。

私のコントローラーでは、この文字列値を設定しました。

model.startTime = myTime + " " + amOrPm;  //ex 10:30 PM

私のリストは次のようになります。

List<SelectListItem> startTimeList = new List<SelectListItem>();    

SelectListItem time12 = new SelectListItem { Text = "12:00 PM", Selected = false, Value = "12:00PM" };
startTimeList.Add(time12);

SelectListItem time12Half = new SelectListItem { Text = "12:30 PM", Selected = false, Value = "12:30PM" };
startTimeList.Add(time12Half);

私のリストは、最初のリストがリストに入力されたため、常にデフォルトで12:00PMに設定されています。model.startTimeに値がある場合、その値に設定する必要があります。

4

2 に答える 2

3

Razorエンジンを使用DropDownListForして、プロパティに一致するアイテムを選択する作業を行うことができます。

@Html.DropDownListFor(model => model.startTime, startTimeList)

Selected別の方法は、以下に一致するアイテムを明示的に設定することです。

startTimeList.First(item => item.Text.Equals(model.startTime)).Selected = true;
于 2012-10-22T21:31:51.053 に答える
0

モデルに startTime プロパティがあり、そのプロパティの値がリスト内のいずれかの値と一致する場合 (つまり、「12:00PM」または「12:30PM」には一致するが、「12:00 PM」または「12:00 PM」には一致しない) "12:30 PM") の場合、これうまくいくと思います。

@Html.DropDownListFor(model => model.startTime, 
    @Model.startTimeList, 
    new { @class = "startTime", style = "width: 100px;" })
于 2012-10-22T21:37:37.903 に答える