问题描述
把DataSet数据放到html页面上的table里去,每行数据的开头有个删除和修改按钮,点击按钮时可以操作数据。可是我点击哪行的按钮都是操作到第一条数据代码如下:voidGetIPInfo(HttpContextcontext){stringtext="";stringtable="";stringtabpage="";stringpage=context.Request.QueryString["page"];stringIPid=context.Request.QueryString["member_id"];stringterId="";TeriPageStyletps=newTeriPageStyle();SqlConnectioncon=newSqlConnection(AllUse.DboAdmin.ConnStr());con.Open();SqlDataAdapterda=newSqlDataAdapter("select*fromShop_terminalwheremember_id="+IPid,con);DataSetds=newDataSet();da.Fill(ds);con.Close();table=tps.RetTableInfo(ds,"button|修改|onclick=jsUpdate;button|删除|onclick=jsDelete;terminal_id;member_id;terminal_no;remark;disabled",16,int.Parse(page));tabpage=tps.pageList(int.Parse(page),16,ds.Tables[0].Rows.Count,"SearchIPid",IPid);if(ds.Tables[0].Rows.Count>0){terId=ds.Tables[0].Rows[5]["terminal_id"].ToString();}text=System.IO.File.ReadAllText(context.Server.MapPath(DatabaseAdmin.ProImgSize.DirModPath)+"MemberListIP.htm");text=text.Replace("<%=table%>",table);text=text.Replace("<%=tabpage%>",tabpage);text=text.Replace("<%=member_id%>",IPid);text=text.Replace("<%=terminal_id%>",terId);Print(context,text);}这是一般处理程序的代码;html页面的js代码:functionjsDelete(){varterId="<%=terminal_id%>";alert(terId);if(confirm("确定要删除吗?")){window.location.href("DeleteIP.aspx?terminal_id="+terId);}else{window.location.href("Cuser.aspx");}}
解决方案
解决方案二:
因为你是获取了第一行的ID我也不知道你怎么输出的,你可以每列加一个ID用来获取,或者加title之类绑定ID之类的
解决方案三:
每行
解决方案四:
在firebug中查看下,你点击按钮操作的是jsDelete函数对吧?看下传递过来的参数是不是第一行的
解决方案五:
我这里也不能够调试,因为这是线上的项目,只能在本机写好代码,然后再传到线上去查看效果
解决方案六:
怎么点击按钮时拿到相对应的那一行的ID?
解决方案七:
terId=ds.Tables[0].Rows[5]["terminal_id"].ToString();这是闹哪样,你这不是固定只给了一个id吗你应该为每个按钮绑定不同的id啊
解决方案八:
呃。。。问题就是我不知道怎么给绑定???所以就先这样给一个先!求解!!!
解决方案九:
如果是asp.net端输出,那么最好使用asp.net服务器控件(例如GridView)。如果是喜欢前端,那么应该直接把数据以javascript对象格式(json格式)输出给客户端,然后客户端使用javscriptUI框架下的Grid插件去渲染。不要自己写很低级的一堆html代码。
解决方案十:
if(ds.Tables[0].Rows.Count>0){terId=ds.Tables[0].Rows[5]["terminal_id"].ToString();}这里面改一下改成循环for(inti=0;i<ds.Tables[0].Rows.count;i++){}
解决方案十一:
引用4楼zhongcheng0201的回复:
我这里也不能够调试,因为这是线上的项目,只能在本机写好代码,然后再传到线上去查看效果
那你在firebug中看下,你点击按钮操作的是jsDelete函数对吧?看下传递过来的参数是不是都是第一行的,不用你在vs中调试呀