Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengakses Nama Paparan Enum Menggunakan Sintaks Razor dalam ASP.NET MVC?
memanfaatkan nama paparan untuk persembahan enum yang dipertingkatkan dalam pandangan pisau cukur ASP.NET MVC
Menggunakan atribut untuk memperkayakan ahli Enum membolehkan pembentangan yang lebih bersih, lebih mesra pengguna nilai enum dalam pandangan pisau cukur. Pendekatan ini memudahkan paparan data enum yang dipilih. [Display]
menggunakan kaedah lanjutan untuk pengambilan atribut
Mengakses nama paparan secara langsung dalam Razor memerlukan kaedah lanjutan tersuai. Kaedah lanjutan generik ini mengambil sebarang atribut yang digunakan untuk enum:
<code class="language-csharp">public static TAttribute GetAttribute<TAttribute>(this Enum enumValue) where TAttribute : Attribute { return enumValue.GetType() .GetMember(enumValue.ToString()) .First() .GetCustomAttribute<TAttribute>(); }</code>
Melaksanakan pelanjutan dalam pandangan pisau cukur
Pelanjutan ini memudahkan mengakses atribut paparan dalam pandangan pisau cukur anda:
<code class="language-csharp">@foreach (int aPromotion in Enum.GetValues(typeof(UserPromotion))) { var currentPromotion = (int)Model.JobSeeker.Promotion; if ((currentPromotion & aPromotion) == aPromotion) { var displayAttribute = currentPromotion.GetAttribute<DisplayAttribute>(); <li>@displayAttribute?.GetName()</li> } }</code>Kod ini melangkah melalui nilai enum, mengenal pasti perlawanan dengan harta model, dan menggunakan lanjutan untuk mendapatkan nama paparan.
dengan selamat mengendalikan nilai null dan mengakses nama paparan. @displayAttribute?.GetName()
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Nama Paparan Enum Menggunakan Sintaks Razor dalam ASP.NET MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!