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.
31 lines
1.1 KiB
31 lines
1.1 KiB
@{
|
|
var list = (ViewData[ViewData.ModelMetadata.PropertyName + "SelectList"] as SelectList) ?? new SelectList(new List<SelectListItem>());
|
|
if (ViewData.ModelMetadata.IsEnum)
|
|
{
|
|
if (ViewData.ModelMetadata.IsNullableValueType)
|
|
{
|
|
var enumType = ViewData.ModelMetadata.ModelType.GetGenericArguments()[0];
|
|
var items = enumType.GetEnumValues().Cast<object>()
|
|
.Select(o => new SelectListItem { Value = o.ToString(), Text = (Enum.Parse(enumType, o.ToString()) as Enum).GetDisplayName() })
|
|
.ToList();
|
|
list = new SelectList(items, "Value", "Text", Model);
|
|
}
|
|
else
|
|
{
|
|
list = (Model as Enum).GetSelectList();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
list = (ViewData[ViewData.ModelMetadata.PropertyName + "SelectList"] as SelectList) ?? new SelectList(new List<SelectListItem>());
|
|
}
|
|
}
|
|
@list.FirstOrDefault(o => o.Value == Model?.ToString())?.Text
|
|
|
|
@if (ViewData.ModelMetadata.PropertyName.EndsWith("Id"))
|
|
{
|
|
if (ViewData.Get((Guid)Model) != null)
|
|
{
|
|
@ViewData.Get((Guid)Model)
|
|
}
|
|
} |