ارسال مدل به سشن (Session) در Asp.net core
پاسخ هوش مصنوعی
در ASP.NET Core، شما می توانید با استفاده از Session
لیست مدل ها را ذخیره کنید. ابتدا، باید لیست مدل خود را به رشته (string) تبدیل کنید، معمولاً از روش JsonConvert.SerializeObject
استفاده می شود. سپس می توانید این رشته را در Session
ذخیره کنید. برای خواندن آن دوباره، می توانید از JsonConvert.DeserializeObject
استفاده کنید.
در اینجا یک مثال از نحوه انجام این کار آورده شده است:
using Microsoft.AspNetCore.Http;
using Newtonsoft.Json;
using System.Collections.Generic;
public class YourModel
{
public int Id { get; set; }
public string Name { get; set; }
}
// ذخیره کردن لیست مدل در سشن
public void SaveListToSession(HttpContext httpContext, List modelList)
{
var jsonString = JsonConvert.SerializeObject(modelList);
httpContext.Session.SetString("ModelList", jsonString);
}
// خواندن لیست مدل از سشن
public List GetListFromSession(HttpContext httpContext)
{
var jsonString = httpContext.Session.GetString("ModelList");
return jsonString == null ? new List() : JsonConvert.DeserializeObject>(jsonString);
}
سلام
تا اونجایی که من می دونم کوکی ها و سشن ها برای نگهداری اطلاعات ساده مثل یک رشته استفاده میشن و نمیشه مدل های پیچیده یا List ها رو در Session ها ذخیره کرد. مگر اینکه مدل شما یک مدل ساده و شامل یک ردیف اطلاعات باشه و لیستی از اطلاعات نباشه. در این صورت باید برای هر فیلدی که در مدل خودتون دارید یک سشن تعریف کنید و مقدارش رو در سشن نگهداری کنید.
تعریف سشن در Asp.net core
HttpContext.Session.SetString("Session_name","Value");
به عنوان مثال اگر شما بخواهید نام و نام خانوادگی و سن یک کاربر رو در سشن تعریف کنید کد زیر میشه
HttpContext.Session.SetString("firstName","hasan");
HttpContext.Session.SetString("family","rezaie");
HttpContext.Session.SetString("age","25");
این لینک در مورد سشن ها اطلاعات بیشتری رو میده بهتون.
موفق باشید
برای نگهداری اطلاعات پیچیده مثل List ها و جابجایی اونها میتونید از ViewBag در Asp.net Core استفاده کنید.
ViewBag.myList = _context.Users.ToList();
در کد بالا لیستی از کاربران را در یک ViewBag نگهداری کرده ایم و میتونیم ازش استفاده کنید.
- آموزش استفاده از پلاگین گردونه شانس در 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