نمایش پیام به کاربر با استفاده از دستور ViewBag
سلام من پروزه ام رو با Asp.net Core 5 نوشتم و میخوام در جاهای مشخصی پیامایی پیش فرضی رو در صفحه نمایش بده کدی که الان نوشتم هیچ پیامی رو نشون نمیده
متد سمت کنترلر
PersonInfo newInfo = new PersonInfo();
newInfo.PersonId = newp.PersonId;
newInfo.PersonIdentityInfoId = info.PersonIdentityInfoId;
newInfo.PersonJobInfoId = newJob.PersonJobInfoId;
newInfo.PersonAddressInfoId = address.PersonAddressInfoId;
newInfo.InfoDate = DateTime.Now;
newInfo.OperatorId = 1;
newInfo.PersonEditionTypeId = 1;
_context.PersonInfos.Add(newInfo);
_context.SaveChanges();
ViewBag.id = newp.PersonNo;
ViewBag.succes = "اطلاعات شخص با موفقیت ثبت گردید";
سمت html
<fieldset>
<div class="form-card">
<h2 class="fs-title text-center">@ViewBag.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 style="">@ViewBag.succes</h5>
</div>
</div>
</div>
</fieldset>
پاسخ هوش مصنوعی
برای نمایش پیام با استفاده از `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>
همونطوری که خودتون اشاره کردید برای اینکه یک پیام رو از سمت سرور یا کنترلر به سمت کلاینت یا کاربر با استفاده از ViewBag نمایش بدید، باید قبل از دستور return در اکشن از ViewBag استفاده کنید که در حال حاضر سوال رو اصلاح کردید و این کار انجام شده. به طور کلی برای استفاده از ViewBag نمایش پیغام به صورت زیر عمل کنید:
سمت سرور :
public IActionResult Index()
{
ViewBag.message = "پیغام تستی";
return View();
}
سمت کلاینت
<div class='alert'>
<p>
@ViewBag.message
</p>
</div>
- دسترسی به پکیج های nuget در زمان قطع نت بین الملل
- نمایش آخرین ردیف دیتاگیرید موقع لود در wpf
- مشکل اینترنت جهانی و عدم دسترسی به cdnjs.cloudflare.com
- مشکل در نصب sql server 2022
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- جلوگیری از انتشار غیرمجاز مطالب در کانال های تلگرامی
- تفاوت های تلگرام و واتس اپ چیست ؟
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2