当前上下文中不存在名称“username”“ASP.index_aspx”并不包含“DataList1_SelectedIndexChanged”的定义这两个问题。代码如下: protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e) { if (e.CommandName == "addshop") { //商品id string id = DataList1.DataKeys[e.Item.ItemIndex].ToString(); int goodid = Convert.ToInt32(id); //购买者 String strconn; strconn = "Server=ZEE-PC;DataBase=sb;Uid=sa;pwd='123456'"; SqlConnection conn=new SqlConnection(strconn); conn.Open(); string sqlstr = "insert into carts (username,goodid) values('" + username + "'," + goodid + ")"; SqlCommand scmd = new SqlCommand(sqlstr, conn); scmd.ExecuteNonQuery(); //Response.Write("id"); } }}
第一个问题:因为在你插入SQL语句中的username没有声明、所以你要像goodsId一样申明一个、第二个问题:ASP.index_aspx”并不包含“DataList1_SelectedIndexChanged”的定义这个问题你可以用鼠标双击报这个错的地方、会自动转页到那个错的地方、你删掉那一行、或者你在视图设计器右键DataList1属性 查看其事件、选择SelectedIndexChanged事件、右键 选择重置、那么这两个问题就解决了、希望能对你有帮助
你应该是双击datalist1然后自动生成了一个DataList1_SelectedIndexChanged方法然后你觉得这不是你要用的方法又把这个方法删除了,结果前台没删除定义,所以就有这个错误了去前台代码里找<asp:DataList ID="DataList1" runat="server" onselectedindexchanged="DataList1_SelectedIndexChanged"> </asp:DataList>把里面的onselectedindexchanged="DataList1_SelectedIndexChanged“这个删了就不报这个错误了或者你再双击一下datalist1,然后后台就生成了这个方法,空在那空着就行了,也没什么影响你那个username应该是想使用某个控件的值还是想自己定义一个变量,要是想自己定义变量的话就前面sting username=”“;要是想使用某个控件的值你加的那个控件要改控件ID为username,写的时候一般写username.text.tostring()当然要看你加的是什么控件
string sqlstr = "insert into carts (username,goodid) values('" + username + "'," + goodid + ")";这个语句中前面你有定义goodid并赋值。但是username你并没有定义。应该是漏了。定义一个Username然后把用户名赋值进去就可以 追问 能帮助我写一下吗 ? 是新手 追答 string username = 你页面中保存用户名的控件值;
第一个问题: string sqlstr = "insert into carts (username,goodid) values('" + username + "'," + goodid + ")";这里你调用username变量,但是上面没有声明string username =你获取username的方法,仿照:int goodid = Convert.ToInt32(id);第二个问题 :“ASP.index_aspx”并不包含“DataList1_SelectedIndexChanged”的定义你的DataList1在前台页面有DataList1_SelectedIndexChanged的事件,但是后台没有写,就会出现错误,新手你可以在DataList1上按F4,调出属性框,找到SelectedIndexChanged事件,双击会自动添加。
在values后面,有一个username,你并没有定义,应该表中有这一列吧!在前台选中DataList1,然后找到属性对话框里的闪电图标,即事件,在SelectedIndexChanged后面双击一下即可!