首页 新闻 会员 周边

关于GridView的删除和修改

0
悬赏园豆:10 [已关闭问题] 关闭于 2009-03-30 00:34

求高手指导,我是初学者,忘大家多多关照!感激不尽!

我用GridView自己带的编辑和删除时遇到的错

<asp:GridView ID="NewClass_List" OnRowDeleting="NewClass_List_RowDeleting" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" HorizontalAlign="Center" Width="98%" CellSpacing="1" AutoGenerateColumns="False" DataSourceID="odsNewsClass" AllowPaging="True" DataKeyNames="Id">

   <Columns>
             <asp:BoundField DataField="Id" ReadOnly="True" HeaderText="新闻类型ID" SortExpression="Id" />
             <asp:BoundField DataField="ClassName" HeaderText="新闻类型名称" SortExpression="ClassName" />
             <asp:CommandField HeaderText="操作" EditText="修改" ShowDeleteButton="True" ShowEditButton="True" />
         </Columns>

</asp:GridView>

<asp:ObjectDataSource ID="odsNewsClass" runat="server" DataObjectTypeName="Models.NewsClass"
            DeleteMethod="DeleteNewsClass" SelectMethod="GetAllNewsClass" TypeName="BLL.NewsClassManager"
            UpdateMethod="UpdateNewsClass">
            <DeleteParameters>
                <asp:Parameter Name="id" Type="Int32" />
            </DeleteParameters>
</asp:ObjectDataSource>

我用的是ObjectDataSource, 绑定了删除和修改,查询到所有的方法,为什么删除时报错 说“能找到接受“Models.NewsClass”类型的参数的非泛型方法“DeleteNewsClass”,

当我把DataObjectTypeName="Models.NewsClass"去掉时,修改时则会类似的找不到方法的错

问题补充: 我用的是三层架构,所有的业务操作方法都放在BLL中,BLL中的方法是调用的DAL层中的各自对应的类的对应方法 当不去掉DataObjectTypeName="Models.NewsClass"时修改功能可以实现,删除报错找不到。。方法,当去掉时,修改报错,删除功能可以用
奋斗在路上的主页 奋斗在路上 | 初学一级 | 园豆:190
提问于:2009-03-20 00:53
< >
分享
所有回答(4)
0

要在项目的 App_Code 活页夹里,写好自己的类、函数,在此删除用的函数里,建立数据库 Connection、下 Delete SQL 后再执行 SqlCommand.ExecuteNoQuery(),才会实际删数据库中的数据。

App_Code 里你的自订类名称 :
BLL.NewsClassManager

App_Code 里
你的自订函数名称 :
DeleteNewsClass

WizardWu | 园豆:1402 (小虾三级) | 2009-03-20 01:26
0

给你提个建议,最好不用自带的修改删除方法!

可以自己在代码中定义嘛:

protected void  GridView_DEl()

{

}

protected void GridView_Selected()

{

}

子夜星辰 | 园豆:1613 (小虾三级) | 2009-03-20 08:17
0

去掉DataObjectTypeName="Models.NewsClass"

jowo | 园豆:2834 (老鸟四级) | 2009-03-20 08:44
0

去掉后你没有设置<UpdateParameters>当然会报错,而删除的时候有<DeleteParameters>所以不会报错。你可以加入<UpdateParameters>,把DataObjectTypeName="Models.NewsClass"删除就好了。

Qubook | 园豆:0 (初学一级) | 2009-03-20 16:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册