웹 애플리케이션 개발에 있어서 대부분의 전자상거래 웹사이트에는 온라인 쇼핑 기능 모듈이 있기 때문에 장바구니 프로그램 작성이 매우 중요합니다.
장바구니의 기능은 개체 추가, 개체 수정, 개체 삭제, 장바구니 확인, 장바구니 보기 등의 기능을 구현하는 것 이상입니다. 이번 글에서는 "개체 추가", "개체 삭제", "장바구니 보기" 3가지 기능에 대해 설명하겠습니다. 물론 이것은 단순한 장바구니 클래스일 뿐이며 기능이 많지 않고 완벽하지도 않습니다. 기능을 더 완벽하게 만들려면 이 기반을 확장해야 합니다.
C#은 완전한 OOP(객체지향 프로그래밍) 언어이기도 하며, 마이크로소프트의 주력 언어이기도 하며, 앞으로 가장 많이 사용되는 언어 중 하나라고도 할 수 있습니다. 이 문서의 샘플 코드는 C#으로 작성되었습니다. 다음은 개체 추가, 개체 삭제 및 장바구니 개체 보기 기능을 완료하는 장바구니 클래스를 만드는 것입니다. 파일 이름은 ShoppingCart.cs입니다.
using System;
System.Web.UI 사용;
using System.Collections; //Hashtable 클래스
네임스페이스 WendwCart를 사용할 때 네임스페이스를 도입해야 합니다. //네임스페이스 이름
{
[직렬화 가능]
public class Stat_Class{ //제품 클래스를 정의하고 제품의 다양한 속성을 저장합니다. String ShangPinID //제품 ID;
String Sp_Name; // 상품명 십진수 Sp_Price // 상품 가격 int Sp_Quan;
get{return ShangPinID;}
설정{ShangPinID=값;}
}
공개 문자열 ShangpinName{
get{return Sp_Name;}
설정{Sp_Name=값;}
}
공개 십진수 가격{
get{return Sp_Price;}
설정{Sp_Price=값;}
}
공개 정수 수량{
get{return Sp_Quan;}
설정{Sp_Quan=값;}
}
public Stat_Class(String ItemID,String ShangpinName,decimal Price,int Quantity){ //구성 방법,
productShangPinID의 각 속성을 초기화합니다=ItemID;
Sp_Name=상핀이름;
Sp_Price=가격;
Sp_Quan=수량;
}
}
[직렬화 가능]
공개 클래스 ShoppingCart{
해시테이블 Cart_Orders=new Hashtable();
공개 ICollection 주문{
get{return Cart_Orders.Values;}
}
공개 십진수 TotalCost{ //총 가격을 계산합니다. get{
십진수 합계=0;
foreach(Cart_Orders의 DictionaryEntry 항목){
Stat_Class 순서=(Stat_Class)entry.Value;
total+=(주문.가격*주문.수량);
}
총 수익;
}
}
public void AddItem(Stat_Class Order){ //객체 메서드 추가 Stat_Class order=( Stat_Class)Cart_Orders[Order.ItemID];
if(주문!=null)
주문.수량+=주문.수량;
또 다른
Cart_Orders.Add(Order.ItemID,주문);
}
public void DeleteItem (String ItemID){ //객체 삭제 if(Cart_Orders[ItemID]!=null)
Cart_Orders.Remove(ItemID);
}
}
}
ShoppingCart.cs 파일을 컴파일합니다.
csc /t:library /out: ShoppingCart.dll ShoppingCart.cs는
ShoppingCart.dll 구성 요소를 bin 디렉터리에 배포합니다.
참고:
어떤 세션 모드를 사용하든 세션 상태를 효과적으로 저장할 수 있도록 정의 클래스 앞에 직렬화 가능 직렬화가 추가됩니다.
또한 각 사용자가 로그인할 때 클래스의 인스턴스를 생성할 수 있도록 하려면Global.asax 파일에
<%@ Import Namespace="WendwCart" %>
를 추가하세요.
<%@ 애플리케이션 코드비하인드="Global.asax.cs" Inherits="HDLab.BBS.Global" %>
<script Language="C#" runat="server">
void Session_Start()
{
세션["MyShoppingCart"]=new ShoppingCart();
}
</script>
여기서 WendwCart는 컨트롤의 네임스페이스 이름입니다. 다음 기사 "장바구니 프로그램 개발 - 장바구니 클래스 호출"에서는 ASP.NET 페이지에서 ShoppingCart.dll 구성 요소를 사용하여 개체를 추가하고 삭제하는 방법을 설명합니다.