sara_t
دوشنبه 06 شهریور 1391, 12:04 عصر
سلام دوستان
من از کتاب خانم هاشمیان برای طراحی سبد خرید استفاده کردم که کمی کدها رو تغییر دادم در حال حاضر کالاهای من در طرف راست و سبدخرید در طرف چپ قرار داره و همه چیز به درستی کار میکنه. ولی میخام به این سبد افکت بدم اما نمیدونم چطور اگه اساتید راهنمایی کنند بسیار ممنون میشم.
این کد صفحه اصلی هست که دیتا لیست کالاها و سبدخرید در اون قرار داره:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register src="ShoppingControlCart.ascx" tagname="ShoppingCart" tagprefix="uc1" %>
<%@ Register src="ShoppingControlCart.ascx" tagname="ShoppingControlCart" tagprefix="uc2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server" DataKeyField="ID"
DataSourceID="SqlDataSource1" RepeatColumns="3"
onselectedindexchanged="DataList1_SelectedIndexChanged"
RepeatDirection="Horizontal" onitemcommand="DataList1_ItemCommand"
Width="550px">
<ItemTemplate>
ID:
<asp:Label ID="IDLabel" runat="server" Text='<%# Eval("ID") %>' />
<br />
mname:
<asp:Label ID="mnameLabel" runat="server" Text='<%# Eval("mname") %>' />
<br />
mgheymat:
<asp:Label ID="mgheymatLabel" runat="server" Text='<%# Eval("mgheymat") %>' />
<br />
mimageurl:
<asp:Label ID="mimageurlLabel" runat="server" Text='<%# Eval("mimageurl") %>' />
<br />
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl='<%# Eval("mimageurl","~/photogalery/{0}") %>'
onclick="ImageButton1_Click" Height="100px" Width="100px"/>
<br />
<br />
<asp:Button ID="Button1" runat="server" Height="31px" onclick="Button1_Click1"
Text="اضافه کردن به سبد" Width="95px" CommandName="addtocart"
/>
<br />
<br />
<br />
</ItemTemplate>
</asp:DataList>
<br />
<br />
<br />
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:TutTestConn %>"
SelectCommand="SELECT * FROM [mahsulat]">
</asp:SqlDataSource>
</div>
<div align="right" style="position: absolute; z-index: 9; top: 0px; right: 0px"
dir="rtl">
<uc2:ShoppingControlCart ID="ShoppingControlCart1" runat="server" />
</div>
<p>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</p>
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl="~/ShoppingCartPage.aspx">HyperLink</asp:HyperLink>
</form>
اینم shoppingcontrolcart.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ShoppingControlCart.ascx.cs" Inherits="ShoppingControlCart" %>
<asp:GridView ID="GridView1" runat="server" Height="124px" Width="416px"
AutoGenerateColumns="False" DataKeyNames="ID"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating" BorderStyle="Solid"
BorderWidth="2px">
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="linetotal" HeaderText="قیمت کل" ReadOnly="True" />
<asp:BoundField DataField="mgheymat" HeaderText="قیمت واحد" ReadOnly="True" />
<asp:BoundField DataField="quantity" HeaderText="تعداد" />
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl='<%# Eval("mimageurl","~/photogalery/{0}") %>' Height="50px"
Width="50px" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle BorderStyle="Solid" />
</asp:GridView>
<p align="center">
</p>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
کد shoppingcontrolcart.ascx.cs
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ShoppingControlCart.ascx.cs" Inherits="ShoppingControlCart" %>
<asp:GridView ID="GridView1" runat="server" Height="124px" Width="416px"
AutoGenerateColumns="False" DataKeyNames="ID"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating" BorderStyle="Solid"
BorderWidth="2px">
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="linetotal" HeaderText="قیمت کل" ReadOnly="True" />
<asp:BoundField DataField="mgheymat" HeaderText="قیمت واحد" ReadOnly="True" />
<asp:BoundField DataField="quantity" HeaderText="تعداد" />
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl='<%# Eval("mimageurl","~/photogalery/{0}") %>' Height="50px"
Width="50px" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle BorderStyle="Solid" />
</asp:GridView>
<p align="center">
</p>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
کلاس shopping.cs
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;
using System.Data.SqlClient;
namespace dtrbasket
{
[Serializable]
public class CartItem
{
private int _ID;
private string _mname;
private string _mimageurl;
private double _mgheymat;
private int _quantity;
private double _linetotal;
public void New()
{
}
public void New(int ID, string mname, string mimageurl, double mgheymat,int quantity)
{
_ID = ID;
_mname = mname;
_mimageurl = mimageurl;
_mgheymat = mgheymat;
_linetotal=quantity*mgheymat;
}
public int ID
{
get
{
return _ID;
}
set
{
_ID = value;
}
}
public string mname
{
get
{
return _mname;
}
set
{
_mname = value;
}
}
public string mimageurl
{
get
{
return _mimageurl;
}
set
{
_mimageurl = value;
}
}
public double mgheymat
{
get
{
return _mgheymat;
}
set
{
_mgheymat = value;
}
}
public int quantity
{
get
{
return _quantity;
}
set
{
_quantity = value;
}
}
public double linetotal
{
get
{
return _quantity * _mgheymat;
}
}
}
[Serializable]
public class ShoppingCart
{
private DateTime _DateCreated;
private DateTime _LastUpdate;
private List<CartItem> _items;
public ShoppingCart()
{
if (this._items == null)
{
this._items = new List<CartItem>();
this._DateCreated = System.DateTime.Now;
}
}
public List<CartItem> items
{
get
{
return _items;
}
set
{
_items = value;
}
}
public void insert(int ID, string mname, string mimageurl, double mgheymat,int quantity)
{
int ItemIndex = ItemIndexOfID(ID);
if (ItemIndex == -1)
{
CartItem newitem = new CartItem();
newitem.ID = ID;
newitem.mname = mname;
newitem.mimageurl = mimageurl;
newitem.mgheymat = mgheymat;
newitem.quantity = quantity;
_items.Add(newitem);
}
else
_items[ItemIndex].quantity += 1;
_LastUpdate = DateTime.Now;
}
public void update(int RowID,int ID, int quantity,double mgheymat)
{
CartItem item = _items[RowID];
item.ID = ID;
item.quantity = quantity;
item.mgheymat = mgheymat;
_LastUpdate = DateTime.Now;
}
public void deleteitem(int RowID)
{
_items.RemoveAt(RowID);
_LastUpdate = DateTime.Now;
}
private int ItemIndexOfID(int ID)
{
int index = 0;
foreach (CartItem item in _items)
{
if (item.ID == ID)
return index;
index++;
}
return -1;
}
public double Total
{
get
{
double t = 0;
if (_items == null)
return 0;
foreach (CartItem item in _items)
t += item.linetotal;
return t;
}
}
}
}
من از کتاب خانم هاشمیان برای طراحی سبد خرید استفاده کردم که کمی کدها رو تغییر دادم در حال حاضر کالاهای من در طرف راست و سبدخرید در طرف چپ قرار داره و همه چیز به درستی کار میکنه. ولی میخام به این سبد افکت بدم اما نمیدونم چطور اگه اساتید راهنمایی کنند بسیار ممنون میشم.
این کد صفحه اصلی هست که دیتا لیست کالاها و سبدخرید در اون قرار داره:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register src="ShoppingControlCart.ascx" tagname="ShoppingCart" tagprefix="uc1" %>
<%@ Register src="ShoppingControlCart.ascx" tagname="ShoppingControlCart" tagprefix="uc2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server" DataKeyField="ID"
DataSourceID="SqlDataSource1" RepeatColumns="3"
onselectedindexchanged="DataList1_SelectedIndexChanged"
RepeatDirection="Horizontal" onitemcommand="DataList1_ItemCommand"
Width="550px">
<ItemTemplate>
ID:
<asp:Label ID="IDLabel" runat="server" Text='<%# Eval("ID") %>' />
<br />
mname:
<asp:Label ID="mnameLabel" runat="server" Text='<%# Eval("mname") %>' />
<br />
mgheymat:
<asp:Label ID="mgheymatLabel" runat="server" Text='<%# Eval("mgheymat") %>' />
<br />
mimageurl:
<asp:Label ID="mimageurlLabel" runat="server" Text='<%# Eval("mimageurl") %>' />
<br />
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl='<%# Eval("mimageurl","~/photogalery/{0}") %>'
onclick="ImageButton1_Click" Height="100px" Width="100px"/>
<br />
<br />
<asp:Button ID="Button1" runat="server" Height="31px" onclick="Button1_Click1"
Text="اضافه کردن به سبد" Width="95px" CommandName="addtocart"
/>
<br />
<br />
<br />
</ItemTemplate>
</asp:DataList>
<br />
<br />
<br />
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:TutTestConn %>"
SelectCommand="SELECT * FROM [mahsulat]">
</asp:SqlDataSource>
</div>
<div align="right" style="position: absolute; z-index: 9; top: 0px; right: 0px"
dir="rtl">
<uc2:ShoppingControlCart ID="ShoppingControlCart1" runat="server" />
</div>
<p>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</p>
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl="~/ShoppingCartPage.aspx">HyperLink</asp:HyperLink>
</form>
اینم shoppingcontrolcart.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ShoppingControlCart.ascx.cs" Inherits="ShoppingControlCart" %>
<asp:GridView ID="GridView1" runat="server" Height="124px" Width="416px"
AutoGenerateColumns="False" DataKeyNames="ID"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating" BorderStyle="Solid"
BorderWidth="2px">
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="linetotal" HeaderText="قیمت کل" ReadOnly="True" />
<asp:BoundField DataField="mgheymat" HeaderText="قیمت واحد" ReadOnly="True" />
<asp:BoundField DataField="quantity" HeaderText="تعداد" />
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl='<%# Eval("mimageurl","~/photogalery/{0}") %>' Height="50px"
Width="50px" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle BorderStyle="Solid" />
</asp:GridView>
<p align="center">
</p>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
کد shoppingcontrolcart.ascx.cs
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ShoppingControlCart.ascx.cs" Inherits="ShoppingControlCart" %>
<asp:GridView ID="GridView1" runat="server" Height="124px" Width="416px"
AutoGenerateColumns="False" DataKeyNames="ID"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating" BorderStyle="Solid"
BorderWidth="2px">
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="linetotal" HeaderText="قیمت کل" ReadOnly="True" />
<asp:BoundField DataField="mgheymat" HeaderText="قیمت واحد" ReadOnly="True" />
<asp:BoundField DataField="quantity" HeaderText="تعداد" />
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl='<%# Eval("mimageurl","~/photogalery/{0}") %>' Height="50px"
Width="50px" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle BorderStyle="Solid" />
</asp:GridView>
<p align="center">
</p>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
کلاس shopping.cs
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;
using System.Data.SqlClient;
namespace dtrbasket
{
[Serializable]
public class CartItem
{
private int _ID;
private string _mname;
private string _mimageurl;
private double _mgheymat;
private int _quantity;
private double _linetotal;
public void New()
{
}
public void New(int ID, string mname, string mimageurl, double mgheymat,int quantity)
{
_ID = ID;
_mname = mname;
_mimageurl = mimageurl;
_mgheymat = mgheymat;
_linetotal=quantity*mgheymat;
}
public int ID
{
get
{
return _ID;
}
set
{
_ID = value;
}
}
public string mname
{
get
{
return _mname;
}
set
{
_mname = value;
}
}
public string mimageurl
{
get
{
return _mimageurl;
}
set
{
_mimageurl = value;
}
}
public double mgheymat
{
get
{
return _mgheymat;
}
set
{
_mgheymat = value;
}
}
public int quantity
{
get
{
return _quantity;
}
set
{
_quantity = value;
}
}
public double linetotal
{
get
{
return _quantity * _mgheymat;
}
}
}
[Serializable]
public class ShoppingCart
{
private DateTime _DateCreated;
private DateTime _LastUpdate;
private List<CartItem> _items;
public ShoppingCart()
{
if (this._items == null)
{
this._items = new List<CartItem>();
this._DateCreated = System.DateTime.Now;
}
}
public List<CartItem> items
{
get
{
return _items;
}
set
{
_items = value;
}
}
public void insert(int ID, string mname, string mimageurl, double mgheymat,int quantity)
{
int ItemIndex = ItemIndexOfID(ID);
if (ItemIndex == -1)
{
CartItem newitem = new CartItem();
newitem.ID = ID;
newitem.mname = mname;
newitem.mimageurl = mimageurl;
newitem.mgheymat = mgheymat;
newitem.quantity = quantity;
_items.Add(newitem);
}
else
_items[ItemIndex].quantity += 1;
_LastUpdate = DateTime.Now;
}
public void update(int RowID,int ID, int quantity,double mgheymat)
{
CartItem item = _items[RowID];
item.ID = ID;
item.quantity = quantity;
item.mgheymat = mgheymat;
_LastUpdate = DateTime.Now;
}
public void deleteitem(int RowID)
{
_items.RemoveAt(RowID);
_LastUpdate = DateTime.Now;
}
private int ItemIndexOfID(int ID)
{
int index = 0;
foreach (CartItem item in _items)
{
if (item.ID == ID)
return index;
index++;
}
return -1;
}
public double Total
{
get
{
double t = 0;
if (_items == null)
return 0;
foreach (CartItem item in _items)
t += item.linetotal;
return t;
}
}
}
}