これが可能かどうかはわかりません。グーグルでは何も見つかりませんでした。しかし、選択の変更時に選択されたインデックスの値を DropDownList に表示させたいと思います。
アドバイスをいただければ幸いです。
よろしく。
これが可能かどうかはわかりません。グーグルでは何も見つかりませんでした。しかし、選択の変更時に選択されたインデックスの値を DropDownList に表示させたいと思います。
アドバイスをいただければ幸いです。
よろしく。
語彙を少し混同していると思います。通常のドロップダウンには「アイテム」が含まれています。
プレーンな html では、ドロップダウンは項目を表す<select ..>
要素を持つ<option ..>
要素としてレンダリングされます。
Asp.Net では、対応するコントロールが呼び出され、子要素DropDownList
が含まれます。ここで、Text プロパティは UI に表示されるもので、Value プロパティはサーバーにポストバックされるものです。ListItem
ListItems
Text
Value
親DropDownList
の場合、SelectedValue
はValue
選択した の属性ですListItem
。一方、SelectedIndex はListItem
、ドロップダウン内のすべての ListItems から選択された 0 から始まる数値インデックスです。
語彙のレッスンは途中で、テキストを表示する代わりにドロップダウンが必要なようです。UI に画像が表示され、ユーザーは正しい画像を選択できます。ドロップダウンの値プロパティには、選択した画像の何らかの ID (画像ファイル名、またはデータベース テーブルのキーなど) が含まれます。
ドロップダウンに画像を表示する方法を理解するには、この質問に対する受け入れられた回答をご覧ください。
ドロップダウンは次のとおりです。
@Html.DropDownListFor(model => model.CountyID, new SelectList(Model.allCounties, "CountyID", "CountyName"), "Select.....", new { @class = "form-control", @id = "CountyID", @onchange = "DisplayCountyInfo();" })
<div id="CountyView">
@Html.Partial("_CountyView", Model._countyModel)
</div>
<script>
function DisplayCountyInfo() {
$("#CountyView").load('@(Url.Action("_CountyView", "Controller", null, Request.Url.Scheme))?id=' + $("#CountyID").val());
};
</script>
部分ビューを作成する
@model Application.Web.ViewModels.CountyViewModel
<h4><b>@Model.CountyName</b></h4>
<a href="@Model.URL" target="_blank">@Model.URL</a>
コントローラ
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public ActionResult _CountyView(int id)
{
var county = _countyService.Get(id);
CountyViewModel viewModel = new CountyViewModel()
{
CountyName = county.CountyName,
URL = county.URL
};
return PartialView("_CountyView", viewModel);
}
データソースを設定するときに証明しない限り、値を取得することはできません。選択したアイテムの値を取得するには、DisplayMember (表示されるアイテム) と ValueMember プロパティを証明する必要があります。そうしないと、選択した項目の Vlaue (または selectedValue) を取得できません。