2009-09-09 2 views
2

Как это записать на C#? Можете ли вы использовать словарь для этого?PHP to 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

Существует множество способов сделать это, но вот один простой способ. (Этот код необходимо будет в вашем коде страницы позади, потому что это требует свойство Page.Session)

Для начала, вы можете захотеть сущность продукта, чтобы хранить данные:

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

Тогда вы можете храните ваши продукты в сессии следующим образом:

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, установите его поля в значения столбца и, наконец, вы добавите элемент корзины в список, который будет храниться в объекте Session.

Удачи :)

0

Много способов, в зависимости от планируемого магазина и методов доступа и размера требуемой структуры данных.

Например, одним из способов было бы создать объект с переменными-членами product_id, price и number и сохранить их в массиве, а затем в Cache/Session.