دسته بندی ها
22:39 1401/06/30

استفاده از متغیر enum و نمایش آن در View در Asp.net Core

مشخصات سوال کننده :
کاربر : hastia     امتیاز کاربر : 1     رتبه کاربر : 150
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2829
2 نظر
hamid_b : خروجی تابع رو از نوع result در نظر گرفتم یعنی چی دقیقا ؟ مگه ما خروجی result داریم ؟ بعد توی کدهایی که نوشتید اصلا enum استفاده نشده که !

امتیاز کاربر : 510   رتبه کاربر : 4   تاریخ ثبت : 03:35 1401/07/01
hastia : result خروجی از تابعی است که نوشتم که ورودی ان یک ویو مدل است به نام EmailActiveAccountViewModel که داخل ان enum تعریف شده این سه حالت.

امتیاز کاربر : 1   رتبه کاربر : 150   تاریخ ثبت : 04:31 1401/07/01
پاسخ دهنده : saedbfd 15:52 1401/07/01

در ابتدا اگر در مورد نحوه تعریف و استفاده و یا مفهوم enum مشکلی دارید لینک زیر رو مطالعه کنید:

آموزش استفاده از Enum در سی شارپ

یک مثال براتون میزنم. یک کلاس به نام PubVariable ایجاد کنید و Enum زیر رو داخلش ایجاد کنید :

public class PubVariable
{
   public enum MyCity
   {
      Tehran = 1,
      Shiraz = 2,
      Tabriz = 3,
      Karaj = 4
   }
}

خب حالا به راحتی میتونید از این enum و مقادیر اون در کنترلر و یا در View خودتون استفاده کنید :

استفاده از Enum در کنترلر

public IActionResult Index()
{
   ViewBag.City = PubVariable.MyCity.Tabriz;
   return View();
}

 

استفاده از Enum در View

<div class="text-center">
    @PubVariable.MyCity.Tabriz
</div>

 

به این پاسخ امتیاز بدهید    2
امتیاز: 1654 رتبه: 1
2 نظر
hastia : این طوری؟ @if (ViewBag.active == ActiveEmailResult.Error) خوب وقتی توی کنترلر نوشتیم و چک کردیم هم اینجا باز باید چک بشه ؟ اگه این بود این ئیغام رو بده ؟ و چون حالا سه حالت داره چطوری باید با if چک کرد؟ مشکلم این دو تاست

امتیاز کاربر : 1   رتبه کاربر : 150   تاریخ ثبت : 04:41 1401/07/01
saedbfd : مطابق مثالی که نوشته شده شما می تونید به هر آیتم از enum یک عدد بدید. این عدد میتونه از view شما ارسال بشه. و عددی که از ویو ارسال شده و در کنترلر دریافت شده رو کنترل کنید که چه مقداری هست و عملیات متناسب اون انجام بشه.

امتیاز کاربر : 1654   رتبه کاربر : 1   تاریخ ثبت : 04:45 1401/07/01
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود