using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Collections;
using
System.Data;
using
System.Data.SqlClient;
public
partial
class
shopcart : System.Web.UI.Page
{
Hashtable ht;
DataTable dt;
string
connstr = "Data Source=.\\SQLEXPRESS;AttachDbFilename=F:
\\test.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
SqlConnection conn;
SqlCommand cmd;
SqlDataReader sdr;
protected
void
Page_Load(
object
sender, EventArgs e)
{
dt =
new
DataTable();
DataColumn col =
new
DataColumn();
col.ColumnName =
"id"
;
col.DataType = System.Type.GetType(
"System.String"
);
dt.Columns.Add(col);
col =
new
DataColumn();
col.ColumnName =
"name"
;
col.DataType = System.Type.GetType(
"System.String"
);
dt.Columns.Add(col);
col =
new
DataColumn();
col.ColumnName =
"Num"
;
col.DataType = System.Type.GetType(
"System.Int32"
);
dt.Columns.Add(col);
col =
new
DataColumn();
col.ColumnName =
"price"
;
col.DataType = System.Type.GetType(
"System.Single"
);
dt.Columns.Add(col);
col =
new
DataColumn();
col.ColumnName =
"Total"
;
col.DataType = System.Type.GetType(
"System.Single"
);
dt.Columns.Add(col);
if
(!IsPostBack)
{
Bind();
}
}
public
void
Bind()
{
if
(Session[
"shopcar"
] ==
null
)
{
Response.Write(
"<script>if(confirm('你没有登录')window.location='Default.aspx';else window.close();</script>"
);
}
else
{
ht = (Hashtable)Session[
"shopcar"
];
foreach
(
object
item
in
ht.Keys)
{
string
id = item.ToString();
int
num =
int
.Parse((ht[item].ToString()));
string
sql =
"select book_name,price from book_info where book_id='"
+ id +
"'"
;
conn =
new
SqlConnection(connstr);
cmd =
new
SqlCommand(sql, conn);
conn.Open();
sdr = cmd.ExecuteReader();
if
(sdr.HasRows)
{
sdr.Read();
DataRow row = dt.NewRow();
row[
"id"
] = id;
row[
"Num"
] = num;
row[
"name"
] = sdr.GetString(0);
row[
"price"
] =
float
.Parse(sdr[1].ToString());
row[
"total"
] = num * (
float
.Parse(sdr[1].ToString()));
dt.Rows.Add(row);
}
sdr.Close();
conn.Close();
}
}
GridView1.DataSource = dt.DefaultView;
GridView1.DataBind();
}
protected
void
textbox1_TextChanged(
object
sender, EventArgs e)
{
Hashtable ht = (Hashtable)Session[
"shopcar"
];
if
(ht ==
null
)
return
;
for
(
int
i = 0; i < GridView1.Rows.Count; i++)
{
string
id = GridView1.Rows[i].Cells[0].Text.ToString();
Response.Write(id);
string
num = ((TextBox)GridView1.Rows[i].FindControl(
"textbox1"
)).Text;
Response.Write(
" "
+ num +
"<br />"
);
ht[id] = num;
}
Session[
"shopcar"
] = ht;
Bind();
}
protected
void
button1_Click(
object
sender, EventArgs e)
{
string
id = ((Button)sender).CommandArgument;
Hashtable ht = (Hashtable)Session[
"shopcar"
];
if
(ht ==
null
)
return
;
ht.Remove(id);
Bind();
}
}
请发表评论