دسته بندی ها
13:11 1400/02/18

نمایش پیام به کاربر با استفاده از دستور ViewBag

مشخصات سوال کننده :
کاربر : yasasemani     امتیاز کاربر : 6     رتبه کاربر : 80
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3029
2 نظر
saedbfd : شما دقیقا چه نوع پیامهایی می خواید نمایش بدید ؟ این کدهای شما اصلا دستوری برای نمایش پیام توش نیست. فقط یه دستور Viewbag.succes توی کنترلر دارید که این دستور هم توی کدهای Html هیج کجا استفاده نشده.

امتیاز کاربر : 1664   رتبه کاربر : 1   تاریخ ثبت : 02:25 1400/02/18
yasasemani : ببخشید یه ایراد توی نوشتن کد بود که اصلاحش کردم توی سمت کنترلر این پیام ها رو دادم ViewBag.succes = "اطلاعات شخص با موفقیت ثبت گردید" ViewBag.id هم میخوام کدی که برای مشتری ، قبلا این کدها در همین متد generat شده رو نمایش بده

امتیاز کاربر : 6   رتبه کاربر : 80   تاریخ ثبت : 09:29 1400/02/18
هوش مصنوعی

پاسخ هوش مصنوعی

برای نمایش پیام با استفاده از `ViewBag` در ASP.NET Core، کد شما به نظر درست میاد، اما نکاتی وجود دارد که باید در نظر بگیرید:

1. مطمین شوید که در کنترلی که قصد دارید پیام را ارسال کنید، متد `View()` را در انتها فراخوانی کرده اید تا ViewBag به View ارسال شود.

2. بررسی کنید که آیا در View مورد نظر، دسترسی کافی به `ViewBag.succes` دارید.

3. هم چنین، مطمین شوید که `newp.PersonNo` مقداری دارد و خالی نیست، در غیر این صورت، `@ViewBag.id` نمایش داده نخواهد شد.

در نهایت مطمین شوید که کد HTML شما به درستی در حال نمایش است. در صورتی که همه چیز درست باشد، باید پیام "اطلاعات شخص با موفقیت ثبت گردید" نمایش داده شود.

شما می توانید از کد زیر برای اطمینان از نمایش پیام استفاده کنید:

<fieldset>
   <div class="form-card">
      <h2 class="fs-title text-center">@ViewBag.id ?? "ID مشخص نیست"</h2><br><br>
         <div class="row justify-content-center">
           <div class="col-3">
             <img src="~/publicimage/kmc-register.gif" class="fit-image">
           </div>
         </div>
         <br>
         <br>
         <div class="row justify-content-center">
            <div class="col-7 text-center">
               <h5>@ViewBag.succes ?? "پیام نمایش داده نمی شود"</h5>
            </div>
         </div>
   </div>
</fieldset>
به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 00:37 1400/02/20

همونطوری که خودتون اشاره کردید برای اینکه یک پیام رو از سمت سرور یا کنترلر به سمت کلاینت یا کاربر با استفاده از ViewBag نمایش بدید، باید قبل از دستور return در اکشن از ViewBag استفاده کنید که در حال حاضر سوال رو اصلاح کردید و این کار انجام شده. به طور کلی برای استفاده از ViewBag نمایش پیغام به صورت زیر عمل کنید:

 

سمت سرور :

public IActionResult Index()
{
    ViewBag.message = "پیغام تستی";
    return View();
}

 

سمت کلاینت

<div class='alert'>
    <p>
        @ViewBag.message
    </p>
</div>

 

به این پاسخ امتیاز بدهید    0
امتیاز: 1664 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود