2009-09-09 3 views
2

C#으로 작성하는 방법? 이것에 사전을 사용할 수 있습니까?PHP를 C# .NET/ASP.NET

$count = 0; 
if(count($_SESSION['goods']) > 0) { 
    $count = count($_SESSION['goods']) -1; // array start on zero. 
} 

$_SESSION['goods'][$count]["products_id"] = $_POST["products_id"]; 
$_SESSION['goods'][$count]["price"] = $_POST["price"]; 
$_SESSION['goods'][$count]["number"] = $_POST["number"]; 
+5

당신이 당신의 시도를 게시하시기 바랍니다 ... –

답변

1

여기에는 여러 가지 방법이 있지만 여기에는 간단한 방법이 있습니다. 그런 다음

[Serializable] 
public class Product 
{ 
    public int ProductId{get;set;} 
    public int Price{get;set;} 
    public int Number{get;set;} 
} 

을 수행 할 수 있습니다 : 저장

로 시작하려면, 당신은 할 수 있습니다 데이터를 제품 엔티티 (가 Page.Session 속성을 필요로하기 때문에이 코드는 뒤에 페이지 코드에있을 필요가있을 것이다) 같은 세션에서 제품을 저장 :

public void AddProductToSession(Product product) 
{ 
    var products = Session["goods"] as Dictionary<int, Product>; 
    if (products == null) products = new Dictionary<int, Product>(); 
    products.Add(product.ProductId, product); 
    Session["goods"] = product; 
} 

public Product GetProductFromSession(int productId) 
{ 
    Product product; 
    var products = Session["goods"] as Dictionary<int, Product>; 
    if (products == null || !products.TryGetValue(productId, out product)) 
    throw Exception(string.Format("Product {0} not in session", productId)); 
    return product; 
} 
+0

감사합니다! 저는 몇 년 동안 PHP를 프로그래밍했지만 지금은 끝났습니다. 그물. 그리고 이것은 제가 궁금해하는 것들 중 하나였습니다. 그물:) – sv88erik

0

C#에서 좀 더 작업해야합니다.

먼저 쇼핑 카트 항목을 보유 할 클래스를 정의해야합니다 (예 : CartItem). 그런 다음 CartItem 객체를 인스턴스화하고 해당 필드를 게시 값으로 설정 한 다음 마지막으로 장바구니 항목을 List에 추가하여 Session 객체에 보관합니다.

행운을 빕니다 :)

0

많은 방법, 계획 한 저장 및 액세스 방법, 필요한 데이터 구조의 크기에 따라.

예를 들어, products_id, price 및 number 멤버 변수를 사용하여 객체를 만들고이를 어레이에 저장 한 다음 Cache/Session에 저장하는 것이 좋습니다.