哪位大哥,大姐,可以帮助小弟的 ,快要考试答辩了,还有点购物车不怎么懂,求帮完善一下,可以留下联系方式,asp.net,不会耽误大家太多时间的,因为很简单(嘿嘿),拜托了,拜托了
解决方案 »
- asp.net截屏,如何截取指定区域屏幕!!不是全屏截,谢谢!!!
- SSIS导入长度问题
- 数据库中Datetime型的值显示到页面上遇到个小问题
- |M| 麻烦大家介绍个超级漂亮或实用的 回复工具
- 数据库读取结点的值,把值赋值到TreeView中复选框中的相同结点值上打勾
- 100分求解(问题解决后,人格保证结帖送分)
- 高分求解:“错误:没有权限”?js+xmlhttp做无刷新的时候碰到的问题
- 可不可以新开一个页面,页面的背景色由自己控制,
- 为什么我在win2000server里运行aspx显示不正常?
- session与即时从数据库中读取那个更好对服务器来说??
- excel导入数,身份证号码变成科学计数法了,求解决办法
- 修改图片后,必须手动刷新才显示新图片的问题
前台代码:<%@ Page Title="" Language="C#" MasterPageFile="~/MemberPortal/MainSite.master" AutoEventWireup="true" CodeFile="Shopping.aspx.cs" Inherits="MemberPortal_Shopping" %><asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div style=" text-align:left;">
<h1><img src="image/shopping.gif" width="121" height="21" /></h1>
<p style=" font-size:18px; font:幼圆;" >您选好的商品:<asp:Label ID="Label1" runat="server"
Text="Label" Visible="False"></asp:Label>
</p>
</div>
<br /><div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
Width="100%" BackColor="White" BorderColor="#999999" BorderStyle="None"
BorderWidth="1px" CellPadding="3" GridLines="Vertical" ShowFooter="True"
onrowdatabound="GridView1_RowDataBound"
onrowcommand="GridView1_RowCommand" onrowdeleting="GridView1_RowDeleting">
<AlternatingRowStyle BackColor="#DCDCDC" />
<Columns>
<asp:TemplateField HeaderText="图书编号">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("BookId") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="图书名称" FooterText="合计">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("BookName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="单价">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("UnitPrice") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="商品个数">
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("Number") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Number") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="小计">
<ItemTemplate>
<asp:Label ID="Label5" Text="" runat="server"></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField> <asp:TemplateField HeaderText="操作" ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete" Text="删除"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Edit" Text="编辑"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
<HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<RowStyle BackColor="#EEEEEE" ForeColor="Black" />
<SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#0000A9" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#000065" />
</asp:GridView></div>
<div style=" text-align:right; margin-top:10px;">
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/MemberPortal/image/balance.gif" /></div>
</asp:Content>后台代码:
public partial class MemberPortal_Shopping : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if(Request.QueryString["Op"]=="BuyBooks"){
int bookId = Convert.ToInt32(Request.QueryString["bookId"]);
BuyBooks(bookId);
}
if (Session["Cart"] != null)
{
BindCart(); }
else {
Label1.Text = "目前还没有购买任何图书";
}
}
} private void BindCart() {
GridView1.DataSource = Session["Cart"];
GridView1.DataBind();
}
private void BuildCart() {
DataTable cart = new DataTable();
cart.Columns.Add("BookId",typeof(Int32));
cart.Columns.Add("BookName",typeof(string));
cart.Columns.Add("UnitPrice", typeof(double));
cart.Columns.Add("Number", typeof(Int32));
Session["Cart"] = cart;
}
private void AppendBooks(int bookId,string bookName,double unitPrice,int number) {
DataTable cart =Session["Cart"] as DataTable; DataRow dr = cart.NewRow();
dr["BookId"]=bookId;
dr["BookName"]=bookName;
dr["UnitPrice"] = unitPrice;
dr["Number"] = number;
cart.Rows.Add(dr);
Session["Cart"] = cart; }
private bool ExistBook(int bookId) {
DataTable cart = Session["Cart"] as DataTable; foreach (DataRow dr in cart.Rows) {
if (Convert.ToInt32(dr["BookId"]) == bookId) {
return true;
}
}
return false;
} private void UpdateBooks(int bookId)
{
DataTable cart = Session["Cart"] as DataTable; foreach (DataRow dr in cart.Rows)
{
if (Convert.ToInt32(dr["BookId"]) == bookId)
{
dr["Number"] = Convert.ToInt32(dr["Number"])+1;
}
} Session["Cart"] = cart;
}
private void BuyBooks(int bookId) {
string strConn = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
SqlConnection conn = new SqlConnection(strConn);
conn.Open(); string sql = "select * from Books where Id=@Id";
SqlDataAdapter dr = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
SqlParameter[] paras = new SqlParameter[]{
new SqlParameter("@Id",bookId),
};
dr.SelectCommand.Parameters.AddRange(paras);
dr.Fill(ds, "CategoryTable");
string bookName = ds.Tables["CategoryTable"].Rows[0][1].ToString();
double unitPrice = Convert.ToDouble(ds.Tables["CategoryTable"].Rows[0][7].ToString());
if (Session["Cart"] == null)
{
this.BuildCart();
this.AppendBooks(bookId,bookName, unitPrice ,1);
}
else {
if (ExistBook(bookId))
{ this.UpdateBooks(bookId); }
else {
this.AppendBooks(bookId, bookName, unitPrice ,1);
}
}
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#D3D7F5'");
e.Row.Attributes.Add("onmouseout", "currentcolor=this.style.backgroundColor=currentcolor"); Label lblPrice = e.Row.FindControl("Label3") as Label;
Label lblNumber = e.Row.FindControl("Label4") as Label;
Label lblTotal = e.Row.FindControl("Label5") as Label; double UnitPrice = Convert.ToDouble(lblPrice.Text);
int Number = Convert.ToInt32(lblNumber.Text);
double Total = UnitPrice * Number;
lblTotal.Text = Total.ToString(); }
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
}
}
<ItemTemplate>
<asp:LinkButton ID="Linkbutton1" runat="server" Text="修改" CommandName="lb_modify"
CommandArgument='<%#Eval("Base_ID")%>'></asp:LinkButton>
<asp:LinkButton ID="Linkbutton2" runat="server" Text="删除" CommandName="lb_del"
CommandArgument='<%#Eval("Base_ID")%>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>后台:
protected void GridView_BD_RowCommand(object sender, GridViewCommandEventArgs e)
{
string _id = e.CommandArgument.ToString();
if(e.CommandName=="lb_modify")
{
修改写这里
}
if (e.CommandName == "lb_del")
{
删除写这里
}
}
键保存的是商品的ID,值保存的是商品的数据.