在数据绑定到 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>
1万+



被折叠的 条评论
为什么被折叠?



