PDA

View Full Version : قطعه کد سبد خرید



بی همتا
سه شنبه 13 شهریور 1386, 13:12 عصر
با سلام دوباره

من می خواستم سوال دومم رو بپرسم :چشمک:من قطعه کد مربوط به سبد خرید یه فروشگاه رو

میخواستم ممنون میشم اگه بهم پاسخ بدین:تشویق:

مر30

حمیدرضاصادقیان
سه شنبه 13 شهریور 1386, 20:08 عصر
ببخشید سوالتون خیلی کلی هست چه چیزی رو دقیقا میخواهید .لطفا جزئیات رو واضح تر بیان کنید.

بی همتا
چهارشنبه 14 شهریور 1386, 08:21 صبح
با سلام

من پرو‍ه ای درباره فروشگاه مبل دارم . می خوام زمانی که خریدار روی مبلی کلید کرد و قیمت اون رو دید با کلید کردن روی گذینه خرید آن مبل به سبد خرید او اضافه شود و آن سبد خرید هم به اون قیمت واحد بده واگه اون مشتری چند تا جنس خرید قیمت کل رو بده.

مبل پریسا : 1800000
مبل آریا :2500000
مبلغ کل: 4300000

پیمان مظفری
چهارشنبه 14 شهریور 1386, 09:42 صبح
سلام من یه کدی نوشتم ولی مشکلم اینه که محصولاتم وارد سبد خرید نمیشند اگه کسی راهنمایی کنه ممنون می شم

کد page load صفحه:





getData()
If Session("Basket") Is Nothing Then
InitializeBasket()
End If



تابع getData لیست محصولات را در یک DataList نمایش میدهد



Sub InitializeBasket()
Dim basketTable As New System.Collections.Hashtable
Session("Basket") = basketTable

End Sub

کد افزودن به سبد



Sub AddItemToBasket(ByVal sender As Object, ByVal e As EventArgs)
Dim itemName As String = sender.CommandArgument
Response.Write(itemName)
Dim basketTable As System.Collections.Hashtable = Session("Basket")

If basketTable(itemName) Is Nothing Then
basketTable(itemName) = 0
End If

Dim itemCount As Integer = basketTable(itemName)
basketTable(itemName) = itemCount + 1
End Sub

کد Page_PreRender()



Protected Sub Page_PreRender()
Dim basketTable As System.Collections.Hashtable = Session("Basket")
basketList.DataSource = basketTable
basketList.DataBind()
If basketTable.Count = 0 Then
lblBasketMsg.Text = "لطفا خرید نمایید"
Else
lblBasketMsg.Text = ""
End If

End Sub


کد دکمه افزودن به سبد که در مقابل هر محصول قرار دارد



<asp:Button ID="btnAddToBasket" runat="server" Text="افزودن به سبد" OnClick="AddItemToBasket" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "P_serial") %>' />

کد کنترل repeate که حاوی اطلاعات سبد خرید است



<ItemTemplate>
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 100%" class="Default">
<tr>
<td >
<asp:TextBox ID="txtCounter" runat="server" Height="15px" Width="15px"></asp:TextBox></td>
<td >
<img src="images/delete.jpg" /></td>
<td >
<asp:Label runat="server" text='<% # Container.DataItem.Key & "s: " %>' ></asp:Label></td>
<td >
<asp:Label runat="server" Text='<% # Container.Dataitem.value %>'></asp:Label></td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>

حمیدرضاصادقیان
پنج شنبه 15 شهریور 1386, 21:28 عصر
دوست عزیز به عنوان یک پیشنهاد شما میتونی سبد خرید رو به عنوان یک جدول در نظر بگیری و با زدن دکمه اضافه اون رکورد رو به سبد اضافه کنی.اون هر وقت بخوای هرکاری روی داده ها بکنی به راحتی میتوانی انجام بدی.شاید بتونی داخل یک listbox هم اینکارو بکنی.

پیمان مظفری
شنبه 17 شهریور 1386, 11:14 صبح
ممنون از پیشنهادتون ولی من فکر می کنم ذخیره داده ها در شی Session از کلکسیون HashTable سرعت بیشتری دارد چون این جوری کنترل Repeater داده های خود رو نه از یک پایگاه داده بلکه از کلکسیون HashTable می گیرد .