You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.4 KiB
34 lines
1.4 KiB
@{
|
|
var list = new SelectList(new List<SelectListItem>());
|
|
var htmlClass = "form-control select search";
|
|
|
|
@if (!string.IsNullOrEmpty(ViewData.ModelMetadata.TemplateHint))
|
|
{
|
|
htmlClass += " " + ViewData.ModelMetadata.TemplateHint;
|
|
}
|
|
if (ViewData.ModelMetadata.IsEnum)
|
|
{
|
|
if (ViewData.ModelMetadata.IsNullableValueType)
|
|
{
|
|
var enumType = ViewData.ModelMetadata.ModelType.GetGenericArguments()[0];
|
|
var items=Enum.GetValues(enumType).Cast<Enum>()
|
|
.Select(o => new SelectListItem { Value = o.GetValue().ToString(), Text = o.GetDisplayName() })
|
|
.ToList();
|
|
list = new SelectList(items, "Value", "Text",(Model as Enum)?.GetValue().ToString());
|
|
}
|
|
else
|
|
{
|
|
list = (Model as Enum).GetSelectList();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
list = (ViewData[ViewData.ModelMetadata.PropertyName + "SelectList"] as SelectList) ?? new SelectList(new List<SelectListItem>());
|
|
}
|
|
<div class="form-control form-control-display">
|
|
@foreach (var item in list)
|
|
{
|
|
<lable><input type="radio" name="@Html.Name("")" value="@item.Value" @Html.Raw(ViewData.ModelMetadata.IsRequired ? $"data-val=\"true\" data-val-radio=\"请输入{Html.DisplayName("")}\"" : "") @Html.Raw(item.Selected ? "checked=\"checked\"" : "") />@item.Text</lable>
|
|
}
|
|
</div>
|
|
} |