0

嗨,我在 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>

CountryCodes.Add 中的 ADD 是红色的,无法解决,而且我在 UK、GB 和 IRL 之前还有“预期表达”错误。

任何帮助将不胜感激。这是我第一次使用 mvc5 顺便说一句。

谢谢

导航

4

2 回答 2

1

我可以看到一个问题,引号字符不太适合 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"});
于 2015-10-22T07:58:49.530 回答
0

在后端,构建一个 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" })
于 2015-10-22T08:25:05.513 回答