استفاده از متغیر enum و نمایش آن در View در Asp.net Core
با سلام من یه تابعی دارم که خروجی آنرا از نوع result گرفتم.برای نمایش حالت های فعال سازی ایمیل کاربر در ثبت نام
public async Task<IActionResult>ActiveEmailAccount(EmailActiveAccountViewModel active)
{
if (ModelState.IsValid)
{
var result = await _userService.ActiveAccount(active);
switch (result)
{
case ActiveEmailResult.Error:
ModelState.AddModelError("CustomError", "کاربر عزیز، درخواست شما با خطا مواجه شد. ");
break;
case ActiveEmailResult.NotActive:
ModelState.AddModelError("CustomError", "کاربر عزیز، حساب شما فعال نمی باشد. ");
break;
case ActiveEmailResult.Success:
ModelState.AddModelError("CustomError", "کاربر عزیز، حساب شما با موفقیت فعال شد. ");
break;
}
ViewData["Active"] = result;
}
return View(active);
}
می دونم برای اینکه این سه حالت توی ActiveEmailResult را که از نوع enum هست بخوام ببرم به ویو باید از viewdata استفاده کنم.
حالا با توجه به اینکه مفهوم enum رو کمی مشکل دارم نمیدونم چطور باید ازش توی ویوو استفاده کرد
اول اینکه می دونم باید cast کرد . خوب اینجا باید به چی Cast بشه؟
دوم اینکه برای اینکه سه حالت پیغام رو با کلاس های مختلف بتونم نشون بدم باید چکار کنم توی ویوو؟ بیشتر منظورم نوشتن Syntax و اینکه خروجی رو چطور باید مقایسه کرد تو ویو؟ مثلا اوکی بود با کلاس success بشه و notfound بود با کلاس ....
در ابتدا اگر در مورد نحوه تعریف و استفاده و یا مفهوم 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>
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2