Доброго времени суток! Проблема в следующем: создал ObjectDataSource. На основе класса, реализующего методы добавления, удаления , редактирования и выборки из базы. Создал GridView. Привязал к ObjectDataSource. При попытке использовать стандартную кнопку удаления записи получил такое: ObjectDataSource 'ObjectDataSource1' could not find a non-generic method 'DeleteUser' that has parameters: Id, Login, Password, About, Type. Естественно у меня метод DeleteUser имеет только 1 параметр Id! А таблица отображает полей побольше. Но почему то все эти поля передаются как параметры DeleteUserу. Что с этим можно поделать? Код страницы: | Код |
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" DataKeyNames="Id" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None" Width="316px"> <Columns> <asp:CommandField ShowEditButton="True" ShowDeleteButton="True" ValidationGroup="id" /> <asp:HyperLinkField DataTextField="Id" DataNavigateUrlFields="Id" DataNavigateUrlFormatString='~/Default2.aspx?Id={0}' HeaderText="Id" DataTextFormatString='{0}' /> <asp:TemplateField> <EditItemTemplate> <asp:HiddenField ID="TextBox1" runat="server" Value='<%# Bind("Id") %>'></asp:HiddenField> </EditItemTemplate> <ItemTemplate> <asp:HiddenField ID="TextBox1" runat="server" Value='<%# Bind("Id") %>'></asp:HiddenField> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Login" SortExpression="Login"> <EditItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Login") %>'></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Login empty!" ControlToValidate="TextBox2" Display="Dynamic" Font-Size="Smaller"></asp:RequiredFieldValidator> </EditItemTemplate> <ItemTemplate> <asp:Label ID="Label2" runat="server" Text='<%# Bind("Login") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Password" SortExpression="Password"> <EditItemTemplate> <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Password") %>'></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox3" Display="Dynamic" ErrorMessage="Password empty!" Font-Size="Smaller"></asp:RequiredFieldValidator> </EditItemTemplate> <ItemTemplate> <asp:Label ID="Label3" runat="server" Text='<%# Bind("Password") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField ShowHeader="False"> <EditItemTemplate> <asp:HiddenField ID="TextBox5" runat="server" Value='<%# Bind("About") %>'></asp:HiddenField> </EditItemTemplate> <ItemTemplate> <asp:HiddenField ID="Label5" runat="server" Value='<%# Bind("About") %>'></asp:HiddenField> </ItemTemplate> </asp:TemplateField> <asp:TemplateField ShowHeader="False"> <EditItemTemplate> <asp:HiddenField ID="TextBox4" runat="server" Value='<%# Bind("Type") %>'></asp:HiddenField> </EditItemTemplate> <ItemTemplate> <asp:HiddenField ID="Label4" runat="server" Value='<%# Bind("Type") %>'></asp:HiddenField> </ItemTemplate> </asp:TemplateField> </Columns> <FooterStyle BackColor="Tan" /> <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" /> <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" /> <HeaderStyle BackColor="Tan" Font-Bold="True" /> <AlternatingRowStyle BackColor="PaleGoldenrod" /> </asp:GridView> <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="DeleteUser" SelectMethod="UsersList" TypeName="Test.User" UpdateMethod="EditUser" InsertMethod="AddUser" ConflictDetection="CompareAllValues"> <DeleteParameters> <asp:Parameter Name="id" Type="Int32" /> </DeleteParameters> <UpdateParameters> <asp:Parameter Name="id" Type="Int32" /> <asp:Parameter Name="login" Type="String" /> <asp:Parameter Name="password" Type="String" /> <asp:Parameter Name="about" Type="String" /> <asp:Parameter Name="type" Type="String" /> </UpdateParameters> <InsertParameters> <asp:Parameter Name="login" Type="String" /> <asp:Parameter Name="password" Type="String" /> <asp:Parameter Name="about" Type="String" /> <asp:Parameter Name="type" Type="String" /> <asp:Parameter Direction="Output" Name="_id" Type="Int32" /> </InsertParameters> </asp:ObjectDataSource> <br /> </div> </form> </body> </html>
|
--------------------
В начале было Слово
|