دریافت Id کاربر و ارسال به View در Asp.net Core
ولی میخوام بدونم چجوری میتونم وقتی کاربر روی create کلیلک کنه ای دی ش بره به ویو و در یک inputثبت بشه
مشکل اینه که ای دی رو چجوری به دکمه create بدم که در url بگیره تش از razor page استفاده میکنم
کلید ساخت در ایندکس هست و گت میشه به create
میخوام کاربری که میخواد اطلاعاتی رو ثبت کنه آی دی اون کاربر هم ثبت بشه ولی نمیدونم چجوری باید آی دی کاربر رو بگیرم و بفرستم Razor page
وقتی روی دکمه Create کلیک کنه آی دی ش خود کاربر هم بره به ویو که با اطلاعات خبر ثبت بشه
پاسخ هوش مصنوعی
برای اینکه بتوانید شناسه کاربر را به یک صفحه Razor ارسال کنید، می توانید از طریق URL و پارامترها این کار را انجام دهید. در اینجا یک راهنمایی برای انجام این کار ارایه می شود:
ابتدا در صفحه `Index.cshtml` (جایی که دکمه Create وجود دارد) یک لینک یا دکمه بسازید که به صفحه Create برود و شناسه کاربر را به عنوان پارامتر URL ارسال کند. به عنوان مثال:
Create
در کد بالا، `@userId` باید با شناسه کاربر جاری که می خواهید ارسال کنید جایگزین شود. این متغیر باید در کنترلر یا صفحه موجود باشد.
سپس در صفحه `Create.cshtml.cs` (کد-بی هـای Razor Page)، باید شناسه کاربر دریافتی را در متد `OnGet` بگیرید:
public class CreateModel : PageModel
{
[BindProperty(SupportsGet = true)]
public int UserId { get; set; }
public void OnGet()
{
// UserId حالا می تواند به عنوان شناسه کاربر استفاده شود
}
}
پس از اینکه شناسه کاربر را دریافت کردید، می توانید آن را در یک عنصر `` در `Create.cshtml` قرار دهید:
با این کار زمانی که کاربر بر روی دکمه Create کلیک کند، شناسه کاربر به صفحه Create ارسال شده و در فیلد مخفی قرار می گیرد.
برای دریافت ID کاربری که در سیستم لاگین کرده می تونید از کلاس UserManager که یکی از کلاس های Identity هست استفاده کنید. دقت کنید برای دریافت Id کاربر اولا کاربر باید در سیستم لاگین کرده باشه و ثاتیا اینکه شما باید حتما از Identity خود Core استفاده کرده باشید.
public class HomeController : Controller
{
private readonly UserManager<ApplicationUsers> _userManager;
public HomeController(UserManager<ApplicationUsers> userManager)
{
_userManager = userManager;
}
public IActionResult Index()
{
ViewBag.UserId = _userManager.GetUserId(HttpContext.User);
return View();
}
}
در اکشن Index آی دی کاربر در ViewBag.UserId ذخیره میشه و میتونید در View دریافت کنید. البته شما در خود ویو هم میتونید آی دی کاربر رو دریافت کنید. لینک زیر رو برای این کار مطالعه کنید.
- آموزش نصب و راه اندازی دیتابیس PostgreSQL در ویندوز
- PostgreSql چیست ؟ چه کاربردهایی دارد ؟
- دسترسی به پکیج های 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