当您在C'MVC中的ViewData [“country”]中存储列表时,如何选择所选值

时间:2013-01-02 10:36:34

标签: c# model-view-controller viewdata selectedvalue html-select

我的列表存储在ViewData["country"]中,我想列出这个,但也有一个选定的值。 我目前有

@Html.DropDownList("ddlCountry", (IEnumerable<SelectListItem>)ViewData["country"], new { @style = "Width:250px" })

然而,这只列出了所有内容并默认选择第一个。我希望它选择用户设置到其帐户的国家/地区,该国家/地区存储在@Model.Country
我该怎么做?

2 个答案:

答案 0 :(得分:0)

SelectListItem sli = ((IEnumerable<SelectListItem>)ViewData["country"]).AsQueryable().Where(x => x.Value == Model.Country).FirstOrDefault();
if (sli != null) {
    sli.Selected = true;
}

答案 1 :(得分:0)

我们正在做类似的事情......

<%= Html.DropDownList("dealerIds" , new List<SelectListItem>(((List<Company.SPPC.MVC.DealerId>)ViewData["dealerIds"]).Select(i => new SelectListItem() { Value = i.Key, Text = i.Description }).ToList())
                                , new { tabloop = "", id = "ddlDealerIds" })%>

也许试试:

@Html.DropDownList("ddlCountry",((IEnumerable<SelectListItem>)ViewData["country"]).Select(i => new SelectListItem() { Value = i.Country}, new { @style = "Width:250px" })