ページにDropDownListが必要なので、次のように試します。
アクション:
[HttpGet]
public ActionResult GetPoint() {
...
List<SelectListItem> zooms = new List<SelectListItem>();
for (int i = 0; i <= 21; i++) {
if (i == 9)
zooms.Add(new SelectListItem() { Selected = true, Text = i.ToString(), Value = i.ToString() });
else
zooms.Add(new SelectListItem() { Selected = false, Text = i.ToString(), Value = i.ToString() });
}
model.myselectlist = zooms;
...
return View(model);
}
そしてビューで:
@Html.DropDownListFor(model => model.Zoom, Model.myselectlist , new { @class = "dropdown" })
したがって、予想どおり、isSelectedアイテムを含むDropDownListがあり9
ます。
しかし、同じビューで別のドロップダウンが必要なので、これが私の実装です。
[HttpGet]
public ActionResult GetPoint() {
...
List<SelectListItem> places = new List<SelectListItem>();
places.Add(new SelectListItem() { Text = "NY", Value = "NY", Selected = false });
places.Add(new SelectListItem() { Text = "CA", Value = "CA", Selected = false });
places.Add(new SelectListItem() { Text = "TX", Value = "TX", Selected = false });
places.Add(new SelectListItem() { Text = "NH", Value = "NH", Selected = true });
places.Add(new SelectListItem() { Text = "NV", Value = "NV", Selected = false });
model.myselectlistII = places;
...
return View(model);
}
そしてビューで私は持っています:
@Html.DropDownListFor(model => model.Place, Model.myselectlistII , new { @class = "dropdown" })
ご覧のとおり、NH
アイテムにあるリストがありselected = true
ます。
そして、私はドロップダウンリストがNH
選択されたが、それは起こらず、常に最初のアイテムが選択されたことを期待しています。
ビューでは、奇妙な動作があります。アクションの最後とビューページの行の先頭でコードをデバッグします。すべて問題ありませんが、この行の後で、選択したアイテムが変更され、すべてのアイテムが選択されている@Html.DropDownListFor
ことをもう一度確認します。Model.myselectlistII
プロパティでfalse
、何が起こったのかわかりませんか?問題はどこだ?なぜ最初のDropDownFor
ものは何も変更しなかったが、2番目のものは私のリストを変更したのですか?あなたの提案は何ですか?