1

私はブール値の応答として選択リストを構築するこのコードを持っています

var responseList = new List<SelectListItem>();
responseList.Add(new SelectListItem { Text = "Going", Value = bool.TrueString});
responseList.Add(new SelectListItem { Text = "Not Going", Value = bool.FalseString });
ViewData[ViewDataKeys.ResponseTo] = vatOptionList;

私の見解では、以下のドロップダウンリスト ヘルパーを使用します。

@Html.DropDownListFor(m => m.ResponseTo, (IEnumerable<SelectListItem>)ViewData[ViewDataKeys.ResponseTo], "--Select--")

これは私のモデルクラスのプロパティです:

[Display(Name = "Response To")]
public bool ResponseTo { get; set; }

私の問題は、model.ResponseTo の値が何であれ、ドロップダウンリストは常にオプションの値を選択することです。

チェックボックスヘルパーを使用しようとしましたが、驚くべきことにチェックされていないように見えますが、要素を調べたところ、チェックボックスの値は「true」です

テキストボックスヘルパーを使用しようとしましたが、「真の」テキストが表示されました。これは、モデルに値があり、ドロップダウンリストまたはチェックボックスにバインドされていないと思います。ドロップダウンリストを使用する必要があります。見逃したものはありますか?

4

1 に答える 1

4

これをテストしたところ、動作します:

あなたのアクションメソッドで:

var selectListItems = new List<SelectListItem>();
selectListItems.Add(new SelectListItem { Text = "Going", Value = bool.TrueString });
selectListItems.Add(new SelectListItem { Text = "Not going", Value = bool.FalseString });
ViewBag.MySelectList = new SelectList(selectListItems, "Value", "Text", viewModel.IsGoing);

あなたの見解では:

@Html.DropDownList("IsGoing", (SelectList) ViewBag.MySelectList)
于 2011-10-13T08:32:36.160 に答える