gridview 模板中的按钮点击无法响应事件,我用的是asp.net语言做的,是购物车的数量修改,请帮忙看下
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gridview 模板中的按钮点击无法响应事件,我用的是asp.net语言做的,是购物车的数量修改,请帮忙看下相关的知识,希望对你有一定的参考价值。
我的前台是
<ItemTemplate>
<asp:ImageButton ID="ImageButtonPlus" runat="server"
ImageUrl="~/pic/cart_icon04.gif" CommandArgument="<%#Container.DataItemIndex%>"
CommandName="Plus" onclick="ImageButtonPlus_Click"
style="width: 9px; height: 9px" />
<asp:TextBox ID="TextBoxNum" runat="server" Height="25px"
Width="25px" style="text-align: center" Text='<%# Bind("SL") %>'></asp:TextBox>
<asp:ImageButton ID="ImageButtonAdd" runat="server"
ImageUrl="~/pic/cart_icon05.gif" CommandArgument="<%#Container.DataItemIndex%>"
CommandName="Add" onclick="ImageButtonAdd_Click" style="width: 9px" />
</ItemTemplate>
后台是
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) //GridView控件的行命令事件(RowCommand事件)的响应代码
//判断当前点击的按钮的CommandName是否为"Add"
if (e.CommandName == "Add")
//获取数据库连接字符串(ConfigurationManager类需要引入System.Configuration的命名空间)
string sqlConnectStr = ConfigurationManager.ConnectionStrings["Health_WebsiteConnectionString4"].ConnectionString;
//创建并打开数据库连接
SqlConnection con = new SqlConnection(sqlConnectStr);
con.Open();
//获取当前行的行号和购物车的商品ID
int RowIndex = Convert.ToInt32(e.CommandArgument.ToString());
string SPID = GridView1.DataKeys[RowIndex].Value.ToString();
//获取该行的购买数量
string Num = "select SL from [GWC] where SPID=" + SPID;
//获取药品ID
string YPID = "select YPID from [GWC] where SPID=" + SPID;
SqlCommand ID = new SqlCommand();
ID.Connection = con;
ID.CommandText = YPID;
YPID = ID.ExecuteScalar().ToString();
int Good_ID = Convert.ToInt32(YPID);
int number = Convert.ToInt32(Num)+1;
if (number<Good_ID)
//设置Sql更新语句
string Buy_Num;
Buy_Num = "update forum set SL="+number+"where SPID=" + SPID;
//创建SqlCommand对象
SqlCommand com = new SqlCommand(Buy_Num, con);
//执行更新操作,并返回所影响的行数
int RowCount = (int)com.ExecuteNonQuery();
//重新绑定数据
GridView1.DataBind();
//关闭数据库连接
con.Close();
else
Response.Write("<script>alert('您所购买的数量太多了哦!')</script>");
参考技术A 检查下初始化时Session["bus"]是否已创建并赋值了,如果不能解决的话,你把具体页面代码贴出来帮你看一下.
参考技术B ImageButton去掉 onclick="ImageButtonAdd_Click"追问
还是不行
我定义一个全局变量num,在GridView的onrowcommand事件里给他赋值,当我在点击按钮时num的值就没了怎么办
你所谓的全局变量,不会就是指的public int num=0;这种吧, 如果你真想保存,第一就是用ViewState["Number"]=num;来保存
onrowcommand事件的含义是,点击GridView里面的按钮,如果那个按钮设置了CommandName,那么这个事件就会触发,来获取这个按钮设置的CommandArgument属性
如果你想在GridView每次绑定一行数据的时候,来获取某个值,应该使用OnRowDataBind事件
以上是关于gridview 模板中的按钮点击无法响应事件,我用的是asp.net语言做的,是购物车的数量修改,请帮忙看下的主要内容,如果未能解决你的问题,请参考以下文章
我定义一个全局变量num,在GridView的onrowcommand事件里给他赋值,当我在点击按钮时num的值就没了怎么办
关于 iOS UIButton执行动画后点击按钮无法响应事件的问题.
如何从 Gridview 中的 LinkButton 触发 Onclick 事件驻留在 updatePanel 中?