我不知道这是否可行 - 谷歌搜索没有发现任何事情。但是我希望DropDownList显示选择更改时所选索引的值。
感谢任何建议。
问候。
答案 0 :(得分:1)
我认为你正在混淆词汇量。常规下拉列表包含“项目”。
在普通html中,下拉列表呈现为<select ..>
元素,其中<option ..>
个元素代表项目。
在Asp.Net中,相应的控件名为DropDownList
,它包含ListItem
个子元素。 ListItems
具有属性Text
和Value
,其中Text属性是UI中显示的内容,Value属性是发布回服务器的内容。
对于父DropDownList
,SelectedValue
是所选Value
的{{1}}属性。另一方面,SelectedIndex是下拉列表中所有ListItem中所选ListItem
的基于零的数字索引。
词汇课程,您似乎想要在不显示文本的情况下放下图像,UI中会显示图像,然后用户可以选择正确的图像。下拉列表的value属性将包含所选图像的某种ID(可能是图像文件名,或来自数据库表的键或类似内容)。
为了让您在下拉列表中显示图片,请查看此问题的接受答案:
答案 1 :(得分:0)
除非您在设置数据时没有证明,否则无法检索值。您必须证明DisplayMember(显示的项目)和ValueMember属性可以检索所选项目的值。 如果你没有这样做,你就无法获得所选项目的Vlaue(或selectedValue)。
答案 2 :(得分: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);
}