programing

세션에 목록 저장

abcjava 2023. 9. 8. 21:05
반응형

세션에 목록 저장

Asp.net C#에 list to session 변수를 저장할 수 있습니까?

예, 모든 개체를 저장할 수 있습니다(ASP를 사용하고 있다고 가정합니다).NET(기본 설정, 처리 중인 세션 상태):

Session["test"] = myList;

원래 유형으로 다시 캐스팅하여 사용해야 합니다.

var list = (List<int>)Session["test"];
// list.Add(something);

Richard가 지적한 것처럼 개체를 직렬화할 수 있어야 하는 다른 세션 상태 모드(예: SQL Server)를 사용하는 경우에는 각별히 주의해야 합니다.

네. 어느 승강장에 쓰시나요?ASP.NET C#?

List<string> myList = new List<string>();
Session["var"] = myList;

그런 다음 검색하기:

myList = (List<string>)Session["var"];

페이지 범위 밖의 클래스 파일에서 위의 방법(항상 사용하던)이 작동하지 않는 것을 발견했습니다.
저는 이 "맥락"에서 다음과 같은 해결책을 발견했습니다.

HttpContext.Current.Session.Add("currentUser", appUser);

그리고.

(AppUser) HttpContext.Current.Session["currentUser"]

그렇지 않으면 내가 개체를 세션 개체로 가리켰을 때 컴파일러가 문자열을 예상하고 있었습니다.

이거 먹어봐요.

    List<Cat> cats = new List<Cat>
    {
        new Cat(){ Name = "Sylvester", Age=8 },
        new Cat(){ Name = "Whiskers", Age=2 },
        new Cat(){ Name = "Sasha", Age=14 }
    };
    Session["data"] = cats;
    foreach (Cat c in cats)
        System.Diagnostics.Debug.WriteLine("Cats>>" + c.Name);     //DEBUGGG
YourListType ListName = (List<YourListType>)Session["SessionName"];
public class ProductList
{
   public string product{get;set;}
   public List<ProductList> objList{get;set;}
}

ProductList obj=new ProductList();
obj.objList=new List<ProductList>();
obj.objList.add(new ProductList{product="Football"});

이제 세션에 개체 할당

Session["Product"]=obj;

세션 검색에 사용합니다.

ProductList objLst = (ProductList)Session["Product"];

언급URL : https://stackoverflow.com/questions/1259934/store-list-to-session

반응형