今天在用gridview做用户管理界面。发现在删除的时候,出现
“除非指定了 DeleteCommand,否则数据源“SqlDataSource1”不支持删除操作。 ”的错误。我就增加了delect命令
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MRCSSConn %>"
SelectCommand="SELECT [ID],[LoginID], [Name], [Description], [Phone], [Address], [IsEnable], [IsLock] FROM [tblUser]" DeleteCommand="DELETE FROM [tblUser] WHERE [ID] = @ID"> <DeleteParameters> <asp:Parameter Name="ID" Type="Int32" /> </DeleteParameters> </asp:SqlDataSource> 但是这样没报错但删除没反应。百度了一下,找了好多文章,在http://apps.hi.baidu.com/share/detail/23287136发现问题,没有给GridView的DataKeyNames属性赋值,将主键字段设置为DataKeyNames的值即可。
<asp:GridView ID="grdUserList" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"
AllowPaging="True" AllowSorting="True" BorderWidth="1px" CellPadding="3" CellSpacing="2" BorderStyle="None" DataKeyNames="ID"> 补充上datakeynames就搞定了 |
|