如何改进HTML以使用Razor HTML Helpers

时间:2017-01-23 03:55:21

标签: c# html razor

以下HTML代码可在Index.cshtml中找到 -

<select data-val="true" data-val-required="Please choose your country "
                    id="Country" name="Country" class="form-control" style="width: 200px;" >
    <option value="">-- Select Country --</option >
    @foreach (var country in (List<Country>)ViewBag.AvailableCountries )
    {
      <option value="@country.Id">@country.Name</option >
    }
</select>
<span class="field-validation-valid text-danger" data-valmsg-for="Country "
data-valmsg-replace="true"></span>

请改进HTML以使用 Razor HTML Helpers ,例如DropDownListForValidationMessageFor

1 个答案:

答案 0 :(得分:0)

在您的操作中添加此代码。

var countries =new List<Country>(); //assign list of country here.
ViewBag.AvailableCountries =  countries.Select(x => new SelectListItem
                               {
                                   Value = x.Id,
                                   Text = x.Name
                               }).ToList();
  

我假设你的国家级有财产。 (身份证和姓名)

现在在你看来。你可以像这样使用

 @Html.DropDownListFor(x => x.County, ViewBag.AvailableCountries as IEnumerable<SelectListItem>, new { @class = "form-control" })

在模型类的Country属性中添加Required属性。所以你不需要为select添加额外的必需类。