C# ASP.NET ObjectDataSource找不到具有参数的非泛型方法

C# ASP.NET ObjectDataSource找不到具有参数的非泛型方法,c#,asp.net,sql,vb.net,objectdatasource,C#,Asp.net,Sql,Vb.net,Objectdatasource,我正在ASP.Net页面上使用一个FormView控件,该控件带有一个ObjectDataSource,该ObjectDataSource链接到一个业务层组件,该组件连接到SQL Server中的存储过程。我得到的ObjectDataSource找不到错误,我已确保我的所有组件都包含参数(并且它们存在) 我不明白为什么即使参数在那里也找不到? 存储过程: UPDATE [Anime_List] SET [Name] = @name, [AnimeImage] = @anime_image, [

我正在ASP.Net页面上使用一个FormView控件,该控件带有一个ObjectDataSource,该ObjectDataSource链接到一个业务层组件,该组件连接到SQL Server中的存储过程。我得到的ObjectDataSource找不到错误,我已确保我的所有组件都包含参数(并且它们存在)

我不明白为什么即使参数在那里也找不到?

存储过程:

UPDATE [Anime_List] SET [Name] = @name, [AnimeImage] = @anime_image, [Synopsis] = @synopsis, [Type] = @type, [Episodes] = @episodes, [Genres] = @genres, [Rating] = @rating WHERE (([AnimeID] = @original_animeID));
业务部分:

[DataObjectMethod(DataObjectMethodType.Update)]
public static void UpdateAnimeList(string name, string anime_image, string synopsis, 
    string type, short episodes, string genres, decimal rating, int original_animeID,
    int animeID)
{
    animeList.AnimeListUpdateCommand(name, anime_image, synopsis, type, episodes,
        genres, rating, original_animeID, animeID);
}
数据库设计:

表适配器配置:

ASP.Net:

<asp:ObjectDataSource ID="AnimeDataSource" runat="server" DeleteMethod="DeleteAnimeTitle" InsertMethod="InsertAnimeList" OldValuesParameterFormatString="original_{0}" SelectMethod="GetAllTitles" TypeName="Business.BAnimeList" UpdateMethod="UpdateAnimeList">
            <DeleteParameters>
                <asp:Parameter Name="original_animeID" Type="Int32" />
            </DeleteParameters>
            <InsertParameters>
                <asp:Parameter Name="name" Type="String" />
                <asp:Parameter Name="anime_image" Type="String" />
                <asp:Parameter Name="synopsis" Type="String" />
                <asp:Parameter Name="type" Type="String" />
                <asp:Parameter Name="episodes" Type="Int16" />
                <asp:Parameter Name="genres" Type="String" />
                <asp:Parameter Name="rating" Type="Decimal" />
            </InsertParameters>
            <UpdateParameters>
                <asp:Parameter Name="name" Type="String" />
                <asp:Parameter Name="anime_image" Type="String" />
                <asp:Parameter Name="synopsis" Type="String" />
                <asp:Parameter Name="type" Type="String" />
                <asp:Parameter Name="episodes" Type="Int16" />
                <asp:Parameter Name="genres" Type="String" />
                <asp:Parameter Name="rating" Type="Decimal" />
                <asp:Parameter Name="original_animeID" Type="Int32" />
                <asp:Parameter Name="animeID" Type="Int32" />
            </UpdateParameters>
        </asp:ObjectDataSource>


谢谢你的帮助

寻找另一个动物时代似乎失败了

我建议匹配大小写(大写,不在大小写下使用)和错误页面要求的参数顺序

差不多

[DataObjectMethod(DataObjectMethodType.Update)]
public static void UpdateAnimeList(string name, string **animeImage**, string synopsis, 
    string type, short episodes, string genres, decimal rating, int original_animeID,
int animeID) {
    ...
}

看来寻找另一个动物时代是失败的

我建议匹配大小写(大写,不在大小写下使用)和错误页面要求的参数顺序

差不多

[DataObjectMethod(DataObjectMethodType.Update)]
public static void UpdateAnimeList(string name, string **animeImage**, string synopsis, 
    string type, short episodes, string genres, decimal rating, int original_animeID,
int animeID) {
    ...
}

啊哈。成功了。尽管非常奇怪,我在存储过程中使用下划线作为参数标识符,但业务方法不喜欢它。谢谢啊哈。成功了。尽管非常奇怪,我在存储过程中使用下划线作为参数标识符,但业务方法不喜欢它。谢谢