MvcScaffold 版本:0.9.7
好的,所以 MvcScaffold 在我的 _CreateOrEdit.cshtml 部分视图中为我生成了这段代码:
<div class="editor-field">
@Html.DropDownListFor(model => model.LocationId, ((IEnumerable<JobSite.Models.Location>)ViewBag.PossibleLocations).Select(option => new SelectListItem {
Text = Html.DisplayTextFor(_ => option).ToString(),
Value = option.LocationId.ToString(),
Selected = (Model != null) && (option.LocationId == Model.LocationId)
}), "Choose...")
@Html.ValidationMessageFor(model => model.LocationId)
</div>
但是,这会生成以下 HTML:
<select data-val="true" data-val-number="The field LocationId must be a number." data-val-required="The LocationId field is required." id="LocationId" name="LocationId"><option value="">Choose...</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
正如您将看到的那样,“文本”被显示为与“值”相同。
显然,我每次都可以通过以下方式手动重新修改此代码:
Text = Html.DisplayTextFor(_ => option.LocationName).ToString(),
...但我想解决这个问题以避免这种情况。
任何人都可以提供任何指导吗?
谢谢保罗