دریافت 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 دریافت کنید. البته شما در خود ویو هم میتونید آی دی کاربر رو دریافت کنید. لینک زیر رو برای این کار مطالعه کنید.
- آموزش استفاده از پلاگین گردونه شانس در 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