• 1401/06/24

نمایش پیغام در ویو ی ساده :

با سلام 

من می خواستم بدونم در صورتی که از  Result  استفاده کنیم چطوری باید اون پیغام رو به ویو منتقل کنیم :

 

 var result = await _userService.ActiveAccount(active);
            switch (result)
            {
                case ActiveEmailResult.Error:
                   ModelState.AddModelError("email", "حطا");
                    break;

                case ActiveEmailResult.NotActive:
                    ModelState.AddModelError("email", "فعال نیست");
                    break;

                case ActiveEmailResult.Success:
                    ModelState.AddModelError("email", "  یوزر فعال شدی  ");
                    break;
            }

            ViewData["active"] = result;

حالا توی ویو یی که فقط مثلا یه تگ p  باشه.چطور این ئیغام رو باید نمایش بدیم

  • 1401/06/24
  • ساعت 20:48

سلام دوست عزیز وقتتون بخیر 

لطفا بیشتر توضیح بدین متوجه نشدم 

با تشکر


  • 1401/06/24
  • ساعت 21:03

توی کنترلر در نهایت وقتی result رو چک کرد این پیغامها رو میخوام بده 

منتها توی ویو هیچ چیز خاصی ندارم 

فقط یه تک p  که فعال شدن کاربر رو اطلاع بده که فعال شد/ فعال نیستی / خطا 

بیشتر می خوام بدونم این viewdata  رو که الان سه حالت داره چطور باید برد به ویوو

 


  • 1401/06/25
  • ساعت 00:32

خوب مشکلم الان همینه این تابع که توی کنترلر نوشتم 3 حالت داره 

Error/NotActive/success

یه کم تو درکش مشکل دارم مقدار این رو می ریزه توی result  میبره توی ویوو درسته ؟

صفحه هم اتفاقا از نوع ویو مدل هست که بهش دادم

 

حالا این سه حالت دو باره تو حالت viewdata یا viewbag  چطوری کنترل میشه توی ویوو ؟ باید کنترل بشه ؟ یا نه دیکه چون توی کنترلر کنترل شد سه حالتش - دیگه تو ویو نمی خواد کنترل بشه؟

 

میخوام بکم تو ویوو:

اگه notfound شد فلان پیغام رو بده 

اگه success  شد بگو تو اکتیو شدی.....


  • 1401/06/26
  • ساعت 10:46

کاربرگرامی ! لطفا به پیام صوتی زیر گوش دهید.


  • 1401/06/28
  • ساعت 18:52

چقدر خوب و عالی توضیح دادید استاد همین تیکه اخر رو فقط متوجه نمی شم سه حالت داره خوب 

 خروجی ما enum هست 

حالا اگه با viewData  بفرستیم حتما باید Cast کنیم درسته ؟اگه بله اینجا به چی؟

و اینکه فرایند رو متوجه میشم که حالا با ویو دیتا پاس دادیم به ویوو و میشه استفاده کرد ولی وقتی میخوایم از if استفاده کنیم الان سه حالت داریم در واقع . که توی if  میشه دو حالت null بودن و نبودنش رو چک کرد

 


                @if (ViewData["Active"] != null)
                {
                    <div class="alert alert-success">
                        @ViewData.ModelState["CustomError"].Errors[0].ErrorMessage
         
                    </div>
                }
        else
        {
        <div class="alert alert-danger"> کاربری با مشخصات ارسال شده یافت نشد.</div>
        }

 

اینکه دقیق حالا تو ویو باید نتیجه رو چطوری چک کرد نمی فهمم.تو حالت بالا فقط ویوو دیتا نال بشه یا نشه تونستم چک کنم .اما چطور باید نتیحه enum  رو چک کنم؟هر طور میخوام بنویسم نمیشه چون نوعشون فرق داره دیگه تو if


  • 1401/06/30
  • ساعت 09:29

سلام دوست عزیز
اینجا باید ViewData رو Cast کنید تا بتونید با enum مقایسش کنید


  • 1401/06/30
  • ساعت 22:20

میشه لطفا هم cast کردنش رو بنویسید هم مقایسه شو. به چی باید الان دقیقا کست بشه

ممنون میشم 

چون دقیق ماهیت enum رو درک نکردم مشکل دارم

با توجه به اینکه با switch case  چک کردیم دیکه محدد توی ویو Switch case  گذاشتن اشتباهه درسته؟

کست به این صورت میشه ؟  و چگ کردن مجددش؟

@{
    var result = (ActiveEmailResult)ViewData["active"];
}


 
    <div class="container">

 
        @switch (result)
        {
        case ActiveEmailResult.Error:
            <p class="alert-warning"> khata</p>

        break;

        case ActiveEmailResult.NotActive:
            <p class="alert-danger"> فعال نیست</p>
     
        break;

        case ActiveEmailResult.Success:
             
            <p class="alert-success"> با موفقیت فعال شد</p>
         
        break;

        }


    </div>
</p>
 
 

logo-enamadlogo-samandehi