未能找到带参数的非泛型方法

在数据绑定到 BlogRssBLL 上的时候,删除或者修改数据的时候会出现错误,错误信息:“未能找到带参数的非泛型方法.......” 

例如:

1、所绑定的数据源对象的参数列表如下1所示。

2、GridView EditTemplate 模板绑定的字段为<%#Bind(ResourceName)%>,如下2所示。

3、大家应注意到第一个代码块中ObjectDataSource的UpdateParameters 和 InsertParameters参数段,1、其中参数类型相同,但名字不同。2、UpdateParameters Name中的名字与GridView每个模板绑定的字段相同。故调用UpdateResource参数时,可以成功调用,但若把UpdateParamenters改成Insertparameters参数时,却出现如上的问题。所以其关键地方在于,ObjectDataSource数据源的参数要与GridView绑定字段的参数相同,这样才不会出现:“未能找到带参数的非泛型方法.....”的问题。

4、不知现在微软解决了这个问题没有。如有不对之处,请指正。

   < asp:ObjectDataSource ID = " ObjectDataSource1 "  runat = " server "  DeleteMethod = " DelResource "
            InsertMethod
= " InsertResource "  SelectMethod = " GetAllResource "
            TypeName
= " PV.BLL.Security.ResourceManager "  UpdateMethod = " UpdateResource " >
            
< DeleteParameters >
                
< asp:Parameter Name = " resourceID "  Type = " Int32 "   />
            
</ DeleteParameters >
            
< UpdateParameters >
                
< asp:Parameter Name = " ResourceID "  Type = " Int32 "   />
                
< asp:Parameter Name = " ResourceName "  Type = " String "   />
                
< asp:Parameter Name = " ResourceLink "  Type = " String "   />
                
< asp:Parameter Name = " ResourceImageUrl "  Type = " String "   />
                
< asp:Parameter Name = " RoleID "  Type = " Int32 "   />
                
< asp:Parameter Name = " Priority "  Type = " Int32 "   />
                
< asp:Parameter Name = " Remark "  Type = " String "   />
            
</ UpdateParameters >
            
< InsertParameters >
                
< asp:Parameter Name = " resourceName "  Type = " String "   />
                
< asp:Parameter Name = " resourceLink "  Type = " String "   />
                
< asp:Parameter Name = " imageUrl "  Type = " String "   />
                
< asp:Parameter Name = " roleID "  Type = " Int32 "   />
                
< asp:Parameter Name = " priority "  Type = " Int32 "   />
                
< asp:Parameter Name = " remark "  Type = " String "   />
            
</ InsertParameters >
        
</ asp:ObjectDataSource >

 

   < asp:GridView  ID ="GridView1"  runat ="server"  AutoGenerateColumns ="False"  DataKeyNames ="ResourceID"  DataSourceID ="ObjectDataSource1"  Font-Size ="9pt" >
            
< Columns >
            
< asp:CommandField  ShowEditButton ="True"  EditImageUrl ="~/Images/edit.gif"  HeaderImageUrl ="~/Images/cfgRecorder.gif"
                 ShowInsertButton
="True"  InsertImageUrl ="~/Images/addRecorder.gif"  NewImageUrl ="~/Images/addRecorder.gif"
                 UpdateImageUrl
="~/Images/updRecorder.gif"  CancelImageUrl ="~/Images/cancelRecorder.gif"  ButtonType ="Image"  FooterText ="添加"  DeleteImageUrl ="~/Images/delRecorder.gif"  ShowDeleteButton ="True"   >
                    
< FooterStyle  BackColor ="Transparent"  Font-Bold ="True"  Font-Size ="9pt"  ForeColor ="Navy"
                        HorizontalAlign
="Center"  VerticalAlign ="Middle"   />
                
</ asp:CommandField >
                
< asp:BoundField  DataField ="ResourceID"  HeaderText ="编号"  InsertVisible ="False"  ReadOnly ="True"
                    SortExpression
="ResourceID"  Visible ="False"   />
                
< asp:TemplateField  HeaderText ="资源名称"  SortExpression ="ResourceName" >
                    
< EditItemTemplate >
                        
< asp:TextBox   ID ="TextBoxEditResourceName"  runat ="server"  Text ='<%#  Bind("ResourceName") % > ' SkinID="Edit" Width="80px"> </ asp:TextBox >
                    
</ EditItemTemplate >
                    
< ItemTemplate >
                        
< asp:Label  ID ="Label1"  runat ="server"  Text ='<%#  Bind("ResourceName") % > '> </ asp:Label >
                    
</ ItemTemplate >
                    
< HeaderStyle  Width ="80px"   />
                    
< FooterTemplate >
                        
< asp:TextBox  ID ="TextBoxInsertResourceName"  runat ="server"  SkinID ="Edit"  Width ="80px" > 资源名称 </ asp:TextBox >
                    
</ FooterTemplate >
                
</ asp:TemplateField >
                
< asp:TemplateField  HeaderText ="资源地址"  SortExpression ="ResourceLink" >
                    
< EditItemTemplate >
                        
< asp:TextBox  ID ="TextBoxResourceUrl"  runat ="server"  Text ='<%#  Bind("ResourceLink") % > ' SkinID="Edit" Width="180px"> </ asp:TextBox >
                    
</ EditItemTemplate >
                    
< ItemTemplate >
                        
< asp:Label  ID ="Label2"  runat ="server"  Text ='<%#  Bind("ResourceLink") % > '> </ asp:Label >
                    
</ ItemTemplate >
                    
< HeaderStyle  Width ="180px"   />
                    
< FooterTemplate >
                        
< asp:TextBox  ID ="TextBoxInsertResourceUrl"  runat ="server"  SkinID ="Edit"  Width ="180px" > PEScurity/rescure.aspx </ asp:TextBox >
                    
</ FooterTemplate >
                
</ asp:TemplateField >
                
< asp:TemplateField  HeaderText ="资源图片"  SortExpression ="ResourceImageUrl" >
                    
< EditItemTemplate >
                        
< asp:TextBox  ID ="TextBoxResourceImage"  runat ="server"  Text ='<%#  Bind("ResourceImageUrl") % > ' SkinID="Edit" Width="80px"> </ asp:TextBox >
                    
</ EditItemTemplate >
                    
< ItemTemplate >
                        
< asp:Label  ID ="Label3"  runat ="server"  Text ='<%#  Bind("ResourceImageUrl") % > '> </ asp:Label >
                    
</ ItemTemplate >
                    
< HeaderStyle  Width ="80px"   />
                    
< FooterTemplate >
                        
< asp:TextBox  ID ="TextBoxInsertResourceImage"  runat ="server"  SkinID ="Edit"  Width ="80px" > default.gif </ asp:TextBox >
                    
</ FooterTemplate >
                
</ asp:TemplateField >
                
< asp:TemplateField  HeaderText ="所属角色"  SortExpression ="RoleID" >
                    
< EditItemTemplate >
                        
< asp:DropDownList  ID ="DropDownListResourceRole"  runat ="server"  SelectedValue ='<%#  Bind("RoleID") % > ' DataSourceID="ObjectDataSource2"
                            DataTextField="RoleName" DataValueField="RoleID" Width="80px">
                        
</ asp:DropDownList >
                    
</ EditItemTemplate >
                    
< ItemTemplate >
                        
< asp:Label  ID ="Label4"  runat ="server"  Text ='<%#  Bind("RoleID") % > '> </ asp:Label >
                    
</ ItemTemplate >
                    
< HeaderStyle  Width ="80px"   />
                    
< FooterTemplate >
                        
< asp:DropDownList  ID ="DropDownListInsertRole"  runat ="server"  DataSourceID ="ObjectDataSource2"
                            DataTextField
="RoleName"  DataValueField ="RoleID" >
                        
</ asp:DropDownList >
                    
</ FooterTemplate >
                
</ asp:TemplateField >
                
< asp:TemplateField  HeaderText ="排序"  SortExpression ="Priority" >
                    
< EditItemTemplate >
                        
< asp:TextBox  ID ="TextBoxOrder"  runat ="server"  Text ='<%#  Bind("Priority") % > ' Width="40px" SkinID="Edit"> </ asp:TextBox >
                    
</ EditItemTemplate >
                    
< ItemTemplate >
                        
< asp:Label  ID ="Label5"  runat ="server"  Text ='<%#  Bind("Priority") % > '> </ asp:Label >
                    
</ ItemTemplate >
                    
< HeaderStyle  Width ="40px"   />
                    
< FooterTemplate >
                        
< asp:TextBox  ID ="TextBoxInsertOrder"  runat ="server"  Width ="40px"  SkinID ="Edit" > 1 </ asp:TextBox >
                    
</ FooterTemplate >
                
</ asp:TemplateField >
                
< asp:TemplateField  HeaderText ="备注"  SortExpression ="Remark" >
                    
< EditItemTemplate >
                        
< asp:TextBox  ID ="TextBoxResourceRemark"  runat ="server"  Text ='<%#  Bind("Remark") % > ' Rows="1" TextMode="MultiLine" Width="80px" SkinID="Edit"> </ asp:TextBox >
                    
</ EditItemTemplate >
                    
< ItemTemplate >
                        
< asp:Label  ID ="Label6"  runat ="server"  Text ='<%#  Bind("Remark") % > '> </ asp:Label >
                    
</ ItemTemplate >
                    
< HeaderStyle  Width ="80px"   />
                    
< FooterTemplate >
                        
< asp:TextBox  ID ="TextBoxInsertRemark"  runat ="server"  Rows ="1"  Text ='<%#  Bind("Remark") % > '
                            TextMode="MultiLine" Width="80px" SkinID="Edit">
</ asp:TextBox >
                    
</ FooterTemplate >
                
</ asp:TemplateField >
            
</ Columns >
        
</ asp:GridView >

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值