PDA

View Full Version : افکت در سبد خرید بادیتالیست



sara_t
دوشنبه 06 شهریور 1391, 11: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">
&nbsp;</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">
&nbsp;</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;
}

}

}


}

meisam12
دوشنبه 06 شهریور 1391, 20:24 عصر
سلام
فعلاً این سورس کد زیر فقط این که اگر روی هر عکس کلیک شد اون عکس را اضافه می کند.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProductList.aspx.cs" Inherits="FlyToBasket.ProductList" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Fly to basket</title>
<style type="text/css">
body{
margin:0px;
padding:0px;
text-align:center;
background-color:#E2EBED;
font-family: Trebuchet MS, Lucida Sans Unicode, Arial, sans-serif;
font-size:0.8em;
}

#mainContainer{
width:860px;
margin:0 auto; /* Center alignment */
text-align:left;
background-color:#FFF;
}
#leftColumn{ /* Left column of the page */
width:600px;
float:left;
padding-right:5px;
}

#rightColumn{ /* right column, i.e. shopping cart column */
width:240px;
float:right;
height:600px;
background-color:#DDD;
padding-right:10px;
}
#shopping_cart{ /* Shopping cart */
margin:3px;
padding:3px;
}
.clear{
clear:both;
}

.product_container{ /* Div for each product */
width:190px;
margin-right:15px;
float:left;
margin-top:3px;
padding:2px;
font-weight:bold;
}

.sliding_product img{ /* Float product images */
float:left;
margin:2px;
}
img{ /* No image borders */
border:0px;
}

</style>
<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript" src="js/fly-to-basket.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div id="mainContainer">

<div id="leftColumn">
<img src="images/heading3.gif"><br />
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:eShop19ConnectionString %>"
SelectCommand="SELECT * FROM [Products]"></asp:SqlDataSource>
<br />
<asp:DataList ID="DataList1" runat="server" DataKeyField="ProductID"
DataSourceID="SqlDataSource1">
<ItemTemplate>

<div id="Div1">
<div class="product_container">
<div id="slidingProduct<%#DataBinder.Eval(Container.DataItem, "ProductID") %>" class="sliding_product">
<img src='<%# Eval("ProductImageUrl") %>' height="200px" width="180px">
شماره محصول:
<asp:Label ID="Label1" runat="server" Text='<%# Eval("ProductID") %>' />
<br />
نام محصول:
<asp:Label ID="Label2" runat="server"
Text='<%# Eval("ProductTitle") %>' />
<br />
قیمت محصول:
<asp:Label ID="Label3" runat="server"
Text='<%# Eval("ProductPrice") %>' />
<br />

</div>
<a href="#" onclick="addToBasket(<%#DataBinder.Eval(Container.DataItem, "ProductID") %>);return false;"><img src="images/basket.gif"></a>
<div class="clear"></div>
</div>
<!-- END DIV FOR A PRODUCT -->
</div>

<br />


</ItemTemplate>
</asp:DataList>
&nbsp;</div>
<div id="rightColumn">
<!-- Shopping cart It's important that the id of this div is "shopping_cart" -->
<div id="shopping_cart">
<strong>Shopping cart</strong>
<table id="shopping_cart_items">
<tr>
<th>Items</th>
<th>Description</th>
<th>Price</th>
<th></th>
</tr>
<!-- Here, you can output existing basket items from your database
One row for each item. The id of the TR tag should be shopping_cart_items_product + productId,
example: shopping_cart_items_product1 for the id 1 -->


</table>

<div id="shopping_cart_totalprice"></div>
</div>
</div>

<div class="clear"></div>

</div>
</form>
</body>
</html>

بقیش هم در آینده نزدیک تکمیل می کنم و همرا با فایل روی سایت آپلود می کنم.

sara_t
سه شنبه 07 شهریور 1391, 10:50 صبح
مممنون میشم اگه کدهای جاوا اسکریپت رو بذارید ممنون میشم. یا همین پروژه و بصورت زیپ شده قرار بدید.

meisam12
سه شنبه 07 شهریور 1391, 11:03 صبح
سلام
سورس کد بالا را براتون آپلود کردم.
دیتا بیسش هم می توانید از این لینک http://barnamenevis.org/showthread.php?354044-%D8%A7%D9%81%DA%A9%D8%AA-%D9%BE%D8%B1%D9%88%D8%A7%D8%B2-%D8%AF%D8%B1-%D8%B3%D8%A8%D8%AF%D8%AE%D8%B1%DB%8C%D8%AF-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AF%DB%8C%D8%AA%D8%A7%D9%84%DB%8C%D8%B3%D8%AA&highlight=%D9%BE%D8%B1%D9%88%D8%A7%D8%B2+%D8%B3%D8 %A8%D8%AF+%D8%AE%D8%B1%DB%8C%D8%AF پست سومش دانلود کنید.

sara_t
سه شنبه 07 شهریور 1391, 11:36 صبح
مرسی
من این خطا رو دارم

Error 9 Could not load file or assembly 'FlyToBasket' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.


از این خط

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProductList.aspx.cs" Inherits="FlyToBasket.ProductList" %>

meisam12
سه شنبه 07 شهریور 1391, 11:50 صبح
این فایل را دوباره دانلود کنید.

مرسی
من این خطا رو دارم

Error 9 Could not load file or assembly 'FlyToBasket' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.


از این خط

<%@ Page Language="C#‎" AutoEventWireup="true" CodeBehind="ProductList.aspx.cs" Inherits="FlyToBasket.ProductList" %>