在visual studio 2013中的MVC 5中创建下拉列表

本文关键字:创建 下拉列表 MVC 中的 visual studio 2013 | 更新日期: 2023-09-27 18:18:50

嗨,我在mvc5中创建下拉列表时遇到了麻烦,这是我的模型:

public string CountryCode { get; set; }
public LocationChecker()
{
    PopulateCountryCodes();
}
public IEnumerable<SelectListItem> CountryCodes { get; set; }
private void PopulateCountryCodes()
{
    CountryCodes = new List<SelectListItem>();
    CountryCodes.Add (new SelectListItem {Value = "1", Text =“UK”});
    CountryCodes.Add (new SelectListItem {Value = "2", Text =“GB”});
    CountryCodes.Add (new SelectListItem {Value = "3", Text =“IRL”});
}

,这是我的观点:

<h4>Countries</h4>
  add a drop down list
  @Html.DropDownListFor(m => m.CountryCode, Model.CountryCodes)
</div>

国家代码中的ADD。添加是红色的,无法解决,而且我在UK,GB和IRL之前有"表达式预期"错误。

任何帮助将不胜感激。这是我第一次使用mvc5 btw。

感谢

Nav

在visual studio 2013中的MVC 5中创建下拉列表

我可以看到一个问题,引号字符不太适合Text属性。

这里有:

    CountryCodes.Add (new SelectListItem {Value = "1", Text =“UK”});
    CountryCodes.Add (new SelectListItem {Value = "2", Text =“GB”});
    CountryCodes.Add (new SelectListItem {Value = "3", Text =“IRL”});

试试这个:

    CountryCodes.Add (new SelectListItem {Value = "1", Text ="UK"});
    CountryCodes.Add (new SelectListItem {Value = "2", Text ="GB"});
    CountryCodes.Add (new SelectListItem {Value = "3", Text ="IRL"});

在后端,构建一个SelectList

countryCodes = new List<SelectListItem>();
countryCodes.Add(new SelectListItem() { Text = "theText", Value = "TheValue" });

分配给你的视图模型(这是在构造函数中,因此'this')

this.CountryCodes = new SelectList(countryCodes, "Value", "Text", "Please Select");

在前端(CountryCode是一个int,视图模型的成员)

@Html.DropDownListFor(model => model.CountryCode, this.Model.CountryCodes, new { placeholder = "Please select a Country Code", @class = "form-control", name = "CountryCodeSelected" })