protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "del") { int id = Int32.Parse((String)e.CommandArgument); business.Delete(id); GridView1.DataSource = business.GetList(int.Parse(Session["UserId"].ToString())); GridView1.DataBind(); CalcSum(); } //数量减一 if (e.CommandName == "jianBtn") { int id= int.Parse(e.CommandArgument.ToString()); var cart = business.GetModel(id); if (cart.Num == 1) { Response.Write("<script>alert('购物车数量不能小于1!');</script>"); return; } business.UpdateNum(id, -1); GridView1.DataSource = business.GetList(int.Parse(Session["UserId"].ToString())); GridView1.DataBind(); CalcSum(); } //数量加一 if (e.CommandName == "jiaBtn") { int id = int.Parse(e.CommandArgument.ToString()); business.UpdateNum(id, 1); GridView1.DataSource = business.GetList(int.Parse(Session["UserId"].ToString())); GridView1.DataBind(); CalcSum(); } }
时间: 2024-02-14 08:14:12 浏览: 111
这是一个名为 GridView1_RowCommand 的函数,它处理了 GridView1 控件中的行命令事件。在函数中,代码首先检查命令名称是否为 "del",如果是,它会获取该行的商品 ID,并使用名为 business 的购物车业务对象将该商品从购物车中删除。接着,代码会重新绑定 GridView1 控件,并调用 CalcSum 函数来重新计算购物车总金额。
接下来,代码会检查命令名称是否为 "jianBtn",如果是,它会获取该行的商品 ID,并使用名为 business 的购物车业务对象将该商品的数量减一。如果该商品的数量已经是 1,代码会显示一个警告框,防止数量减为负数。接着,代码会重新绑定 GridView1 控件,并调用 CalcSum 函数来重新计算购物车总金额。
最后,代码会检查命令名称是否为 "jiaBtn",如果是,它会获取该行的商品 ID,并使用名为 business 的购物车业务对象将该商品的数量加一。接着,代码会重新绑定 GridView1 控件,并调用 CalcSum 函数来重新计算购物车总金额。
相关问题
protected void gvOrderInfo_PageIndexChanging(object sender, GridViewPageEventArgs e) { gvOrderInfo.PageIndex = e.NewPageIndex; Get_Info(); } //删除数据 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { string id = e.CommandArgument.ToString(); if (e.CommandName == "dell") { BLL.CommentBusiness bus = new BLL.CommentBusiness(); bus.Delete(int.Parse(id)); Get_Info(); } }
这是一个 ASP.NET GridView 控件的分页和删除操作的事件处理函数。
`gvOrderInfo_PageIndexChanging` 函数处理 GridView 控件的分页操作。在函数中,将 GridView 控件的当前页索引设置为 e.NewPageIndex,并调用 Get_Info 函数重新获取数据,实现分页显示。
`GridView1_RowCommand` 函数处理 GridView 控件中的删除操作。在函数中,首先获取要删除的数据的 id 值,然后判断触发事件的命令名称是否为 "dell"。如果是,实例化一个 BLL.CommentBusiness 对象,并调用其 Delete 方法删除该条数据,最后调用 Get_Info 函数重新获取数据,刷新 GridView 控件中的数据显示。
gridview列表值传递
如果你想要在GridView中传递数据,可以考虑使用CommandArgument属性。在GridView的每一行添加一个按钮,并将CommandArgument设置为需要传递的值。当用户单击该按钮时,可以使用CommandArgument属性来获取该值,并将其传递给后台代码。
以下是一个示例:
1. 在GridView中添加一个按钮列:
```
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:ButtonField Text="Edit" CommandName="Edit" />
</Columns>
</asp:GridView>
```
2. 在GridView的RowCommand事件中获取CommandArgument的值:
```
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
int index = Convert.ToInt32(e.CommandArgument);
// 根据index获取相应的数据并进行处理
}
}
```
3. 在GridView的RowDataBound事件中设置CommandArgument的值:
```
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Button btn = (Button)e.Row.Cells[2].Controls[0];
btn.CommandArgument = e.Row.RowIndex.ToString();
}
}
```
这样就可以在GridView中传递数据了。当用户单击“Edit”按钮时,将会触发GridView的RowCommand事件,并且可以通过CommandArgument属性获取需要传递的值。
阅读全文