0

我不知道这是否可能——谷歌搜索一无所获。但我想让 DropDownList 在选择更改时显示其选定索引的值。

任何建议表示赞赏。

问候。

4

3 回答 3

1

我认为你有点混淆了词汇。常规下拉菜单包含“项目”。

在纯 html 中,下拉列表被呈现为一个<select ..>元素,其中的<option ..>元素代表项目。

在 Asp.Net 中,相应的控件被调用DropDownList并且它包含ListItem子元素。ListItems具有属性TextValue,其中 Text 属性是 UI 中显示的内容,而 Value 属性是回发到服务器的内容。

对于父级DropDownListSelectedValueValue来自选定的属性ListItem。另一方面,SelectedIndex 是ListItem从下拉列表中的所有 ListItems 中选择的从零开始的数字索引。

词汇课不碍事,您似乎想要一个下拉菜单,而不是显示文本,而是在 UI 中显示图像,然后用户可以选择正确的图像。下拉列表的 value 属性将包含所选图像的某种 ID(可能是图像文件名,或者数据库表中的键或类似的东西)。

为了让您在下拉菜单中显示图像,请查看此问题的已接受答案:

下拉列表中的图像

于 2012-07-13T19:58:12.747 回答
0

Value cannot be retreived, unless if you havent proved it when setting datasouce. You must proved DisplayMember (the items displayed) and ValueMember property to retreive value of selected item. If you didnt do so, you cannot get Vlaue (or selectedValue) of selected item.

于 2012-07-13T19:24:19.113 回答
0

这是下拉列表:

@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);
    }
于 2015-06-04T13:58:21.590 回答