GRIDVIEW 分页问题.超级急啊!!!!!!!!!!!!!!!!

evil_dead 2008-12-05 03:56:51
http://huayuan.mr.zidc.cn/
这个站随便买点东西.超过10个后会分页.但是你点了第2页进去看到是多了1个空白的东西.那个要怎么去掉.
下面提供下代码:
前台:
<%@ Page Language="C#" MasterPageFile="MasterPage.master" AutoEventWireup="true"
CodeFile="CartMsg.aspx.cs" Inherits="Default21" Title="购物车" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div style="text-align: center">
<table width="703" height="18" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="703" class="font_gwc_top">
<div align="center">
<strong style="color: blue; font-size: 16px">购 物 车</strong></div>
</td>
</tr>
</table>
<asp:GridView ID="gvCart" runat="server" AutoGenerateColumns="false" Width="700"
GridLines="None" Height="183" AllowPaging="True" OnPageIndexChanging="gvCart_PageIndexChanging"
DataKeyNames="id" OnRowDeleting="gvCart_RowDeleting" OnRowUpdating="gvCart_RowUpdating"
PageSize="10">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<table border="0" align="center" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td valign="top" align="middle" width="100" rowspan="2">
<img src='admin/<%# Eval("image") %>' width="100" height="100" alt="sorry,无法显示" />
<br />
</td>
<td align="middle" width="492" bgcolor="#f5f5f5" height="22">
<strong>
<asp:Label ID="id2" runat="server" Text='<%# Eval("id") %>' Visible="false"></asp:Label>
<input name="id_1" id="id_1" type="hidden" value='<%# Eval("id") %>'

size="3" runat="server" onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')" />
</strong>
</td>
<td align="right" width="49" bgcolor="#f5f5f5" height="22">
<div align="center">
<asp:LinkButton ID="update" runat="server" Text="编辑" CssClass="zszs_fl" CommandName="update"></asp:LinkButton>
</div>
</td>
<td align="right" width="55" bgcolor="#f5f5f5">
<div align="center">
<asp:LinkButton ID="LinkButton1" runat="server" Text="删除" CssClass="zszs_fl" CommandName="delete"
OnClientClick="return confirm('你确定要删除吗?')"></asp:LinkButton></div>
</td>
</tr>
<tr>
<td valign="top" align="left" colspan="3" height="120">
<table cellspacing="5" cellpadding="0" width="100%" border="0">
<tbody>
<tr>
<td align="left" height=" 20">
<strong>
<asp:Label ID="name2" runat="server" Text='<%# Eval("name") %>'></asp:Label>
</strong>
</td>
<td valign="center" align="left">数量:
<input name="textfield2" id="textfield2" type="text" value='<%# Eval("count") %>'
size="3" runat="server" />
</td>
</tr>

<tr>
<td align="left">
<input id="priceh" runat="server" type="hidden" value="" />
<strong>商品价格:<span id="price1"></span>¥</strong><asp:Label ID="price2" runat="server"
Text='<%# Eval("price") %>'></asp:Label></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<table height="31" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
备注:</td>
<td colspan="3">
<textarea id="beizhu" style="width: 332px; height: 116px" runat="server"></textarea>
</td>
</tr>
<tr>
<td width="176">
<div align="right">
<a href="Default.aspx">
<img src="images/jxgm.gif" width="89" height="31" border="0"></a></div>
</td>
<td width="119">
<div align="center">
<asp:ImageButton ID="clear" runat="server" Width="88" Height="31" border="0" ImageUrl="images/qkgwc.gif"
OnClick="clear_Click" />
</div>
</td>
<td width="119">
<asp:ImageButton ID="qu" runat="server" ImageUrl="images/qsyt.gif" Width="91" Height="31"
border="0" OnClick="qu_Click" />
</td>
<td style="color: Red">
商品总价:<asp:Label ID="zongjia" runat="server"></asp:Label>

</td>
</tr>
</table>
<table width="75%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td> 
</td>
</tr>
</table>
<table width="629" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="653" height="21">
<strong>小 贴 士</strong></td>
</tr>
<tr>
<td style="text-align: left">
<ul>
<li>如果您确定了所选购的商品,请单击“去收银台”进入收银台页面 </li>
<li>如果您想清楚掉购物车内商品,请单击“清空购物车” </li>
<li>如果您要继续定购商品,请单击“继续购物” </li>
<li>如果您要编辑商品的数量,请鼠标点击编辑 </li>
<li>如果您要取消某个商品,请单击“删除”</li><li><font color="#FF0000">如果您对商品或配送方面有什么要求.可在"备注"中写明</font></li></ul>
</td>
</tr>
</table>
</div>
</asp:Content>
...全文
146 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
birdlonger 2008-12-05
  • 打赏
  • 举报
回复
mark !
evil_dead 2008-12-05
  • 打赏
  • 举报
回复
楼上什么意思?能指出哪里错误吗.非常感谢
j45kp 2008-12-05
  • 打赏
  • 举报
回复
使用AspNetPager.dll控件,很好,不用自己写代码,
啊兵 2008-12-05
  • 打赏
  • 举报
回复
顶你一贴吧。我还没有学到这里来
HDNGO 2008-12-05
  • 打赏
  • 举报
回复
Line 45: if (Request.QueryString["id1"] != null)
Line 46: {
Line 47: int id = int.Parse(Request.QueryString["id1"].ToString());
Line 48: ds = db.dbo("select * from product where type2="+id,"product");
Line 49: // DataList1.DataSource = ds;
evil_dead 2008-12-05
  • 打赏
  • 举报
回复
protected void clear_Click(object sender, ImageClickEventArgs e)
{
Session["Cart"] = null;
Session.Remove("Cart");
Response.Redirect("Default.aspx");
}
protected void gvCart_RowDeleting(object sender, GridViewDeleteEventArgs e)
{

DataTable dt = new DataTable();
dt = (DataTable)Session["Cart"];
dt.Rows[e.RowIndex].Delete();
Session["Cart"] = dt;
gvCart.DataSource = dt;
gvCart.DataBind();
Total();

}

protected void gvCart_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string selSql2 = "select * from product where id=@id";
string pprice = "";
// did = int.Parse(Request.QueryString["uid"].ToString());
string idvalue = ((HtmlInputHidden)gvCart.Rows[e.RowIndex].FindControl("id_1")).Value;
did = int.Parse(idvalue);
OleDbParameter parms = new OleDbParameter(pram_id, OleDbType.Integer);
parms.Value = did;
OleDbDataReader odr = db.ExecuteReader(db.sqlConn, CommandType.Text, selSql2, parms);
while (odr.Read())
{
pprice = odr["price"].ToString();

}
DataTable dt = new DataTable();
float sum = 0;
dt = (DataTable)Session["Cart"];
// int idT = int.Parse(Request.QueryString["uid"].ToString());
int idT = int.Parse(idvalue);
DataSet ds = db.dbo("select * from product where id=" + idT, "pm");
string countvalue = ((HtmlInputText)gvCart.Rows[e.RowIndex].FindControl("textfield2")).Value;

dt.Rows[e.RowIndex]["count"] = float.Parse(countvalue);

// Response.Write("<script>alert('" + dt.Rows[e.RowIndex]["count"] + "')</script>");
dt.Rows[e.RowIndex]["price"] = float.Parse(pprice) * float.Parse(dt.Rows[e.RowIndex]["count"].ToString());
GridViewRow gvr;
for (int i = 0; i < gvCart.Rows.Count; i++)
{
gvr = gvCart.Rows[i];
string price3 = ((Label)gvr.FindControl("price2")).Text;

sum += float.Parse(price3);

}
zongjia.Text = sum.ToString();
Session["Cart"] = dt;
gvCart.DataSource = dt;
gvCart.DataBind();
Total();
}

protected void qu_Click(object sender, ImageClickEventArgs e)
{
GridViewRow gvr;
string cus;
Random rd = new Random();
int rdid = rd.Next(1, 1000);
string orderid = DateTime.Now.ToString("yyyymmddhhmmss") + rdid;
Session["orderid"] = orderid;
string insSql = "insert into [orders]([name], [price], [count], proid, orderid, buyname,beizhu) values (@name, @price, @count, @proid, @orderid, @buyname,@beizhu)";

string p_name = "@name", p_price = "@price", p_count = "@count", p_pid = "@proid", p_oid = "@orderid", p_buy = "@buyname",p_beizhu="@beizhu";
if (Session["user"] != null)
{
for (int i = 0; i < gvCart.Rows.Count; i++)
{
gvr = gvCart.Rows[i];
string name3 = ((Label)gvr.FindControl("name2")).Text;
string id3 = ((Label)gvr.FindControl("id2")).Text;
string price3 = ((Label)gvr.FindControl("price2")).Text;
string count3 = ((HtmlInputText)gvr.FindControl("textfield2")).Value;
OleDbParameter[] prams = new OleDbParameter[7];
prams[0] = new OleDbParameter(p_name, OleDbType.VarChar);
prams[0].Value = name3;
prams[1] = new OleDbParameter(p_price, OleDbType.VarChar);
prams[1].Value = price3;
prams[2] = new OleDbParameter(p_count, OleDbType.VarChar);
prams[2].Value = count3;
prams[3] = new OleDbParameter(p_pid, OleDbType.Integer);
prams[3].Value = id3;
prams[4] = new OleDbParameter(p_oid, OleDbType.VarChar);
prams[4].Value = orderid;
prams[5] = new OleDbParameter(p_buy, OleDbType.VarChar);
prams[5].Value = Session["user"].ToString();
prams[6] = new OleDbParameter(p_beizhu,OleDbType.VarChar);
prams[6].Value = beizhu.Value;
db.ExecuteNonQuery(db.sqlConn, CommandType.Text, insSql, prams);
}
Session["Cart"] = null;
Session.Remove("Cart");
Response.Redirect("Choose.aspx?orderid=" + orderid.ToString());
}


else
{
Response.Redirect("User.aspx");
}

}
protected void Total()
{
float sum = 0;
GridViewRow gvr;
for (int i = 0; i < gvCart.Rows.Count; i++)
{
gvr = gvCart.Rows[i];
string price3 = ((Label)gvr.FindControl("price2")).Text;
sum += float.Parse(price3);
}
zongjia.Text = sum.ToString();
}
}
真的很急,希望大家帮下我...
evil_dead 2008-12-05
  • 打赏
  • 举报
回复
后台:using System;
public partial class Default21 : System.Web.UI.Page
{
public DB db = new DB();

string selSql = "select count(username) from user where name=@username and pwd=@userpwd";
string updateSql = "update product set [count]=[count]+1 where id=@id";
string pram_id = "@id";
string parm_name = "@username";
string parm_pwd = "@userpwd";
string dmsg;
int did, dcount;
string dname, dimage;
string dprice;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CartData();
if (Session["Cart"] == null)
{

CreateCart();
}
if (Session["Cart"] != null)
{

HaveCart();
}
}
Total();
}
protected void CreateCart()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("id", typeof(int)));
dt.Columns.Add(new DataColumn("name", typeof(string)));
dt.Columns.Add(new DataColumn("price", typeof(string)));
dt.Columns.Add(new DataColumn("count", typeof(float)));
dt.Columns.Add(new DataColumn("image", typeof(string)));
dt.Columns.Add(new DataColumn("msg", typeof(string)));
dr = dt.NewRow();
dr["id"] = did;
dr["name"] = dname;
dr["price"] = dprice;
dr["count"] = dcount;
dr["image"] = dimage;
dr["msg"] = dmsg;
dt.Rows.Add(dr);
Session["Cart"] = dt;
gvCart.DataSource = dt;
gvCart.DataBind();
}
protected void CartData()
{
string selSql2 = "select * from product where id=@id";

did = int.Parse(Request.QueryString["uid"].ToString());

OleDbParameter parms = new OleDbParameter(pram_id, OleDbType.Integer);
parms.Value = did;
OleDbDataReader odr = db.ExecuteReader(db.sqlConn, CommandType.Text, selSql2, parms);
while (odr.Read())
{
dprice = odr["price"].ToString();
dname = odr["name"].ToString();
dmsg = odr["msg"].ToString();
dimage = odr["imageUrl"].ToString();
}

}
public void HaveCart()
{
DataTable dt = new DataTable();
dt = (DataTable)Session["Cart"];
int count = dt.Rows.Count;
int i = 0;
bool isHave = false;
while (i < count && !isHave)
{
if (did == int.Parse(dt.Rows[i][0].ToString()))
{
isHave = true;
}
else
{
i++;
}

}
if (isHave)
{
DataRow oldDr;
oldDr = dt.Rows[i];
oldDr["count"] = float.Parse(oldDr["count"].ToString()) + 1;
oldDr["price"] = float.Parse(oldDr["count"].ToString()) * float.Parse(oldDr["price"].ToString());
}
else
{
DataRow newDr;
newDr = dt.NewRow();
newDr["id"] = did;
newDr["name"] = dname;
newDr["price"] = dprice;
newDr["count"] = 1;
newDr["image"] = dimage;
newDr["msg"] = dmsg;
dt.Rows.Add(newDr);
}
gvCart.DataSource = dt;
gvCart.DataBind();
}
protected void gvCart_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvCart.PageIndex = e.NewPageIndex;
HaveCart();

}

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧