@using Microsoft.AspNetCore.Mvc.ModelBinding.Metadata @{ var key = ViewData.ModelMetadata.PropertyName + "SelectList"; } @if (ViewData.ContainsKey(key)) { var value = ""; var id = Model as Guid?; if (id.HasValue) { value = ViewData.Get(id.Value)?.ToString(); } if (string.IsNullOrEmpty(value)) { value = (ViewData[key] as SelectList)?.FirstOrDefault(o => o.Selected)?.Text; } @value } else if (ViewData.ModelMetadata.IsEnum) { @((Model as Enum)?.GetDisplayName()); } else if ((this.ViewData.ModelMetadata as DefaultModelMetadata).Attributes.Attributes.Any(o => o.GetType() == typeof(ConvertTypeAttribute))) { var type = (this.ViewData.ModelMetadata as DefaultModelMetadata).Attributes.Attributes.FirstOrDefault(o => o.GetType() == typeof(ConvertTypeAttribute)); var value = (Model as Enum); @value } else if (this.ViewData.ModelMetadata.UnderlyingOrModelType == typeof(bool)) { var model = Model as bool?; @Html.CheckBox("", new { disabled = "disabled", style = "width:20px;height:20px;margin:2px 0;" }) } else { @Model }