出现了一个很离谱的问题,关于DATAGRID控件编辑....当我执行更新的时候,没有任何反应,当我取消的时候,会删除数据,当我删除的时候,也会删除数据,其它的操作正常真是一个超级离谱的,相关源代码如下:大家一定要帮看一下...<%@ Page validateRequest="false" Autoeventwireup="true" Language="vb" src="functions.vb" inherits="Functions" ContentType="text/html" %>
<script runat="server" language="VB">
Sub Page_Load(Src As Object, E As EventArgs)
MCart.DataSource=GetDataView("select * from bs_cart where b_er='" + session("btshop_user") + "'","bs_cart","bs_cart")
MCart.DataBind()
End Sub
Sub Clear_Cart(Sender As Object,e As System.Web.UI.ImageClickEventArgs)
Runsql("DELETE FROM bs_cart WHERE b_er='"+ session("btshop_user") +"'")
Response.Redirect("cart.aspx")
End Sub
sub dgdata_edit(obj as object, e as datagridcommandeventargs)
mcart.edititemindex=e.item.itemindex
MCart.DataBind()
end sub
sub dgdata_delete(obj as object, e as datagridcommandeventargs)
RunSql("DELETE FROM bs_cart WHERE b_er='"+ session("btshop_user") +"' and id='" + Cstr(MCart.datakeys(E.Item.Itemindex)) + "'")
MCart.DataSource=GetDataView("select * from bs_cart where b_er='" + session("btshop_user") + "'","bs_cart","bs_cart")
MCart.DataBind()
end sub
sub dgdata_update(obj as object, e as datagridcommandeventargs)
response.Write("UPDATE bs_cart SET b_num='"+ ctype(e.item.cells(5).controls(0),textbox).text +"' WHERE id='" + Cstr(MCart.datakeys(E.Item.Itemindex)) + "'")
MCart.DataSource=GetDataView("select * from bs_cart where b_er='" + session("btshop_user") + "'","bs_cart","bs_cart")
mcart.edititemindex=-1
MCart.DataBind()
end sub
sub dgdata_cancel(obj as object, e as datagridcommandeventargs)
'mcart.edititemindex=-1
' MCart.DataBind()
end sub
Sub Add_order(Sender As Object,e As System.Web.UI.ImageClickEventArgs)
Response.Redirect("payment.aspx")
End Sub
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title><%=Session("Btshop_user")%>的购物车</title>
<link href="site_css.css" rel="stylesheet" type="text/css">
</head>
<body>
<form runat="server"><asp:DataGrid AllowPaging="false" AutoGenerateColumns="false" BackColor="#CCCCCC" BorderStyle="groove" BorderWidth="5" DataKeyField="id" EnableViewState="false" HorizontalAlign="Center" ID="MCart" runat="server" Width="500" OnUpdateCommand="dgdata_update" OnEditCommand="dgdata_edit" OnCancelCommand="dgdata_cancel" OnDeleteCommand="dgdata_delete" > <HeaderStyle Font-Bold="True" BackColor="Tan" Height="25" BorderStyle="Dotted"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="ID" HeaderText="ID" ReadOnly="true"></asp:BoundColumn>
<asp:HyperLinkColumn DataNavigateUrlField="id" DataNavigateUrlFormatString="product.aspx?id={0}" HeaderText="商品名称" Target ="_blank" DataTextField="m_name" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center" />
<asp:BoundColumn DataField="m_price1" HeaderText="市场价格" ReadOnly="true" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center"></asp:BoundColumn>
<asp:BoundColumn DataField="m_price2" HeaderText="会员价格" ReadOnly="true" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center"></asp:BoundColumn>
<asp:BoundColumn DataField="m_price3" HeaderText="VIP价格" ReadOnly="true" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="购买数量">
<ItemTemplate>
<div align=center><asp:Label Text='<%# Container.DataItem("b_num")%>' Id="mb_num1" runat="server" /></div>
</ItemTemplate>
<EditItemTemplate>
<asp:Textbox Text='<%#Container.DataItem("b_num")%>' Id="mb_num2" size=3 runat="server" />
</EditItemTemplate>
</asp:TemplateColumn>
<asp:editcommandcolumn EditText="点击修改" CancelText="取消" UpdateText="更新" HeaderText="修改数量" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center"/>
<asp:BoundColumn DataField="b_sum" HeaderText="小 计" ReadOnly="true" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center"></asp:BoundColumn>
<asp:buttoncolumn HeaderText="删除" text="删除" commandname="delete"/>
</Columns>
</asp:DataGrid>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#D4D0C8">
<tr>
<td> <img src="images/cart01.gif" style="cursor:hand" onclick="window.close()">
<asp:ImageButton ImageUrl="images/cart02.gif" ID="Clear_bing" runat="server" OnClick="Clear_Cart" />
<asp:imageButton ImageUrl="images/cart04.gif" ID="Pay_bing" runat="server" OnClick="Add_order"/>
</td>
</tr>
</table>
</form>
</body>
</html>/////////////////////////////////////////////functions.vb中的方法
'return to a dataview decided by tsql,tcatalog,and table
Function GetDataView(TSql As String ,Tcatalog As String,Ttable As string)
Dim myConnection2 As New SqlConnection(ConfigurationSettings.AppSettings("Sqlstr"))
Dim MyCommand2 As SqlDataAdapter = New SqlDataAdapter(TSql, MyConnection2)
Dim MyDS2 As DataSet=New DataSet()
MyCommand2.Fill(MyDS2, Tcatalog)
Dim MyDV2 As DataView=MyDS2.Tables(Ttable).DefaultView
Return MyDV2
End Function就高人走路了路过了,一定要指点一下。。万分感谢
<script runat="server" language="VB">
Sub Page_Load(Src As Object, E As EventArgs)
MCart.DataSource=GetDataView("select * from bs_cart where b_er='" + session("btshop_user") + "'","bs_cart","bs_cart")
MCart.DataBind()
End Sub
Sub Clear_Cart(Sender As Object,e As System.Web.UI.ImageClickEventArgs)
Runsql("DELETE FROM bs_cart WHERE b_er='"+ session("btshop_user") +"'")
Response.Redirect("cart.aspx")
End Sub
sub dgdata_edit(obj as object, e as datagridcommandeventargs)
mcart.edititemindex=e.item.itemindex
MCart.DataBind()
end sub
sub dgdata_delete(obj as object, e as datagridcommandeventargs)
RunSql("DELETE FROM bs_cart WHERE b_er='"+ session("btshop_user") +"' and id='" + Cstr(MCart.datakeys(E.Item.Itemindex)) + "'")
MCart.DataSource=GetDataView("select * from bs_cart where b_er='" + session("btshop_user") + "'","bs_cart","bs_cart")
MCart.DataBind()
end sub
sub dgdata_update(obj as object, e as datagridcommandeventargs)
response.Write("UPDATE bs_cart SET b_num='"+ ctype(e.item.cells(5).controls(0),textbox).text +"' WHERE id='" + Cstr(MCart.datakeys(E.Item.Itemindex)) + "'")
MCart.DataSource=GetDataView("select * from bs_cart where b_er='" + session("btshop_user") + "'","bs_cart","bs_cart")
mcart.edititemindex=-1
MCart.DataBind()
end sub
sub dgdata_cancel(obj as object, e as datagridcommandeventargs)
'mcart.edititemindex=-1
' MCart.DataBind()
end sub
Sub Add_order(Sender As Object,e As System.Web.UI.ImageClickEventArgs)
Response.Redirect("payment.aspx")
End Sub
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title><%=Session("Btshop_user")%>的购物车</title>
<link href="site_css.css" rel="stylesheet" type="text/css">
</head>
<body>
<form runat="server"><asp:DataGrid AllowPaging="false" AutoGenerateColumns="false" BackColor="#CCCCCC" BorderStyle="groove" BorderWidth="5" DataKeyField="id" EnableViewState="false" HorizontalAlign="Center" ID="MCart" runat="server" Width="500" OnUpdateCommand="dgdata_update" OnEditCommand="dgdata_edit" OnCancelCommand="dgdata_cancel" OnDeleteCommand="dgdata_delete" > <HeaderStyle Font-Bold="True" BackColor="Tan" Height="25" BorderStyle="Dotted"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="ID" HeaderText="ID" ReadOnly="true"></asp:BoundColumn>
<asp:HyperLinkColumn DataNavigateUrlField="id" DataNavigateUrlFormatString="product.aspx?id={0}" HeaderText="商品名称" Target ="_blank" DataTextField="m_name" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center" />
<asp:BoundColumn DataField="m_price1" HeaderText="市场价格" ReadOnly="true" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center"></asp:BoundColumn>
<asp:BoundColumn DataField="m_price2" HeaderText="会员价格" ReadOnly="true" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center"></asp:BoundColumn>
<asp:BoundColumn DataField="m_price3" HeaderText="VIP价格" ReadOnly="true" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="购买数量">
<ItemTemplate>
<div align=center><asp:Label Text='<%# Container.DataItem("b_num")%>' Id="mb_num1" runat="server" /></div>
</ItemTemplate>
<EditItemTemplate>
<asp:Textbox Text='<%#Container.DataItem("b_num")%>' Id="mb_num2" size=3 runat="server" />
</EditItemTemplate>
</asp:TemplateColumn>
<asp:editcommandcolumn EditText="点击修改" CancelText="取消" UpdateText="更新" HeaderText="修改数量" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center"/>
<asp:BoundColumn DataField="b_sum" HeaderText="小 计" ReadOnly="true" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center"></asp:BoundColumn>
<asp:buttoncolumn HeaderText="删除" text="删除" commandname="delete"/>
</Columns>
</asp:DataGrid>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#D4D0C8">
<tr>
<td> <img src="images/cart01.gif" style="cursor:hand" onclick="window.close()">
<asp:ImageButton ImageUrl="images/cart02.gif" ID="Clear_bing" runat="server" OnClick="Clear_Cart" />
<asp:imageButton ImageUrl="images/cart04.gif" ID="Pay_bing" runat="server" OnClick="Add_order"/>
</td>
</tr>
</table>
</form>
</body>
</html>/////////////////////////////////////////////functions.vb中的方法
'return to a dataview decided by tsql,tcatalog,and table
Function GetDataView(TSql As String ,Tcatalog As String,Ttable As string)
Dim myConnection2 As New SqlConnection(ConfigurationSettings.AppSettings("Sqlstr"))
Dim MyCommand2 As SqlDataAdapter = New SqlDataAdapter(TSql, MyConnection2)
Dim MyDS2 As DataSet=New DataSet()
MyCommand2.Fill(MyDS2, Tcatalog)
Dim MyDV2 As DataView=MyDS2.Tables(Ttable).DefaultView
Return MyDV2
End Function就高人走路了路过了,一定要指点一下。。万分感谢
解决方案 »
- 求高人帮忙啊
- asp.net代码中获取confirm点击的是哪个按钮
- 求高手帮忙:我在执行asp.net时它提示说:"服务器无法访问应用程序目录,该目录不存在或因为安全设置而无法访问。"
- table控件的使用,问了好几次了,没有满意答案。。。
- 散分....就这爱好
- 连接服务器SQL数据库的时候总是会出现这样的错误,有办法解决吗?
- SQL2000中datatime型数据怎么只显示短日期在DataList中?
- dataset如何筛选数据
- 如何在aspx文件中使用web.config中定义的内容
- asp.net中调用excel问题 急!!!
- ASP.NET(C#)开发技术群(群号:7369160),大家赶紧加,本群宗旨:代码共享,技术共享。四海之内,皆是朋友。
- 为何不能触发DataGrid1_ItemCommand事件,急待解决!!!
然后你“取消”部分的代码注释掉了,去掉注释试一试;
最后就是你的update过程里我只看到select语句,没有update语句。
Page_Load中已经加上了,If not Ispostback 再绑定,但还是不行
取消的代码注释不注释都是一样的,我就是为了加上注释,看不执行任何操作,是否仍然会删除记录,结果一样.加不加都会把记录删除..
Update中以前是runsql("") 后来为了看他能不能得到执行,输出文字来.但是不成功..根本得不到执行..请大家继续表示观众吧...
用了这个,private void InitializeComponent()不需要再绑定事件
用了这个,private void InitializeComponent()不需要再绑定事件
============================================
不妨再绑绑,因为你的代码很明显是调用错了
DW等工具默认是true,如果自己再加就执行2次。如果自己不加,那名字必须起的完全一样才可以。上面的代码实在看着晕,不细看了,自己找找问题吧。