نمایش پیام به کاربر با استفاده از دستور 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>
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2