gridview与sqldatasourse 绑定联合用法[数据控件]
假如你的gridview是以下代码:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" AllowPaging="True">
<Columns>
<asp:BoundField DataField="name" HeaderText="商品名称" SortExpression="name" />
<asp:BoundField DataField="id" HeaderText="商品ID" SortExpression="id" />
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowDeleteButton="True" />
</Columns>
</asp:GridView>
(在此仅做实例,两个字段id、name及编辑与删除按钮),下面是运行操作后发生的错误情况,分别说明:
第一种问题:
当出现上图情况时,那么说明你在数据源sqldatasourse1里面没有写updatecommand与deletecommand命令代码,应该在sqldatasourse中添加如下所示代码:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings: wangzhanConnectionString %>"
DeleteCommand="delete from goods where id= @id"
UpdateCommand="Update goods Set name=@name, id=@id where id=@id"
SelectCommand="SELECT [name] [id] FROM [goods]">
</asp:SqlDataSource>
写出两句代码,分别用id为条件
第二种问题:
没有声明标量,这种错误很容易发生,当第一种问题你已经解决而发生这种问题,那么你只要改一个地方,设置数据关键字(即根据此进行判断更新、删除):点击gridview,右键—“属性”—找到datakeyname属性—设置为id即可,现在就可以进行更新、删除操作了。下面是完整的源代码:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" AllowPaging="True" DataKeyNames="id">
<Columns>
<asp:BoundField DataField="name" HeaderText="商品名称" SortExpression="name" />
<asp:BoundField DataField="id" HeaderText="商品ID" SortExpression="id" />
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowDeleteButton="True" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings: wangzhanConnectionString %>"
DeleteCommand="delete from goods where id= @id"
UpdateCommand="Update goods Set name=@name, id=@id where id=@id"
SelectCommand="SELECT [name] [id] FROM [goods]">
</asp:SqlDataSource>
本博文章基本上属于原创或收集整理,都是心血结晶。
欢迎转载分享,转载请注明出处,谢谢!
本文地址:gridview与sqldatasourse 绑定联合用法[数据控件]