读书人

ObjectDataSource与GridView绑定有关问

发布时间: 2012-02-10 21:27:41 作者: rapoo

ObjectDataSource与GridView绑定问题.
测试项目是3层写的

页面拖一个GridView,一个ObjectDataSource.
绑定好后.数据正常显示出来,编辑,插入操作都可以.就是删除列不行.

我问了别人说是,我没设置GridView的DataKeyNames属性,我又把DataKeyNames属性绑上了ID.但是还是不能删除.
其他操作都行.编辑插入都行,就是删除不行,我确定删除的数据库代码是对的.

是怎么回事呢

HTML code
        <asp:GridView ID="gvDisplay" runat="server" AllowPaging="True"             AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="ObjectDataSource1">            <Columns>                <asp:BoundField DataField="Id" HeaderText="Id" SortExpression="Id" />                <asp:BoundField DataField="Sex" HeaderText="Sex" SortExpression="Sex" />                <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />                <asp:BoundField DataField="Age" HeaderText="Age" SortExpression="Age" />                <asp:BoundField DataField="Address" HeaderText="Address"                     SortExpression="Address" />                <asp:CommandField ShowDeleteButton="True" ShowEditButton="True"                     ShowSelectButton="True" />            </Columns>        </asp:GridView>        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server"             DataObjectTypeName="Model.Person" DeleteMethod="Delete" InsertMethod="Insert"             SelectMethod="SelectAll" TypeName="BLL.Bll_Person" UpdateMethod="Update">        </asp:ObjectDataSource>



[解决办法]
删除的方法里面需要有个对应的参数
他的参数值对应为ID的值。
[解决办法]
先用Command对象直接执行你的删除sql语句,比如delete from student where id=10,如果成功了的话
调试下你的程序,看看最后你的程序是不是没组装出正确的sql语句,或者出错了。
也可以事件探查器跟踪下,看看你的sql语句到没到数据库端。

读书人网 >asp.net

热点推荐