【问题标题】:Create a dropdownlist with countries name创建一个带有国家名称的下拉列表
【发布时间】:2013-05-01 17:45:20
【问题描述】:

我想创建一个包含国家名称的下拉列表。

我试过这个:

ViewBag.country =
                from p in
                    CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures)
                               .OrderBy(c => c.Name)
                select new SelectListItem
                    {
                        Text = p.EnglishName,
                        Value = p.DisplayName
                    };

但它没有给我国家名称,而是给我语言,然后是说它的国家......

这是视图,简单来说就是“你好”:

Country: @Html.DropDownList("country") 

我做错了什么?谢谢!

注意我不能使用下拉列表,因为我视图中的国家/地区下拉列表未与我的模型绑定。我只想用国家名称作为字符串填充一个下拉列表,之后我将重复使用。

【问题讨论】:

  • 应该Text = p.EnglishNameText = p.DisplayName 还是只是p.Name
  • 我试过了,但结果完全相同:/
  • 嗯? According to this 应该可以工作。
  • 根据该链接,CultureInfo 没有国家列表,而这正是 Herve S 正在寻找的。​​span>

标签: c# drop-down-menu country


【解决方案1】:

尝试改变

@Html.DropDownList("country") 

@Html.DropDownListFor(model => model.Country, (IEnumerable<SelectListItem>)ViewBag.country)

【讨论】:

  • 好吧,问题是我无法将国家绑定到我的模型,因为我的视图中有一个模型列表。
  • @HerveS 那么@Html.DropDownListFor("country", (IEnumerable)ViewBag.country) 怎么样?
  • 这值得一试,我会让你回来的。
  • 不行,因为“国家”不是我模型的一部分或项目。我不能使用强类型的下拉列表,因为我没有在模型的一部分中使用该值。
【解决方案2】:

试试这个

DataTable Country= ViewBag.country;
var country = (from L in Country.AsEnumerable()
                       select new
                       {
                           Value = L["DisplayName"],
                           Text = L["EnglishName"]
                       });    

@Html.DropDownList("ddlCountry", new SelectList(country, "Value", "Text"), "--Select--", new { style = "width:150px" })

【讨论】:

    【解决方案3】:

    实际上可以从 RegionInfo 中检索到国家名称。试试这个:

    var countries = CultureInfo.GetCultures(CultureTypes.SpecificCultures).Select(c => new RegionInfo(c.LCID)).Distinct().OrderBy(c => c.EnglishName);
    ViewBag.country = new SelectList(countries, "Name", "EnglishName");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-22
      相关资源
      最近更新 更多