データベース テーブルの値をドロップダウン リストに入力しました。リストには正しいテーブル データが入力されますが、リスト内のすべての値のインデックスはゼロです。ドロップダウンリストに入力するコードは次のとおりです。
//Get
public ActionResult NewBooking()
{
var db = new VirtualTicketsDBEntities2();
IEnumerable<SelectListItem> items = db.Attractions
.ToList()
.Select(c => new SelectListItem
{
Value = c.A_ID.ToString(),
Text = c.Name
});
ViewBag.Attractions = items;
return View();
}
ドロップダウン ビュー ページ:
<div class="editor-label">
@Html.LabelFor(model => model.Attraction)
</div>
<div class="editor-field">
@Html.DropDownList("Attractions")
</div>
たとえば、テーブルに 3 つの値 A、B、C があるとします。これらの値はドロップダウン リストに表示されますが、POST リクエスト関数で選択したインデックスを取得すると、常にゼロが返されます。POST送信関数は次のとおりです。
//Post
[HttpPost]
public ActionResult NewBooking(BookingView booking)
{
try
{
BookingManager bookingManagerObj = new BookingManager();
bookingManagerObj.Add(booking);
ViewBag.BookingSavedSucess = "Booking saved!";
return View("WelcomeConsumer","Home");
}
catch
{
return View(booking);
}
}
booking.Attraction
ユーザーが 0 より大きいインデックス項目を選択した場合でも、常に 0 です。
助言がありますか?