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

标签 c# asp.net sql vb.net objectdatasource

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

enter image description here

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

存储过程:

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);
}

数据库设计:

enter image description here

表格适配器配置:

enter image description here

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>

感谢您的帮助!

最佳答案

寻找另一个 AnimeImage 似乎失败了。

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

有点像

[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) {
    ...
}

关于c# - ASP.NET ObjectDataSource 找不到具有参数的非泛型方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16641243/

相关文章:

c# - 是否有用于解析/格式化 TCP 数据包的库或任何有助于这样做的库?

asp.net - 如何使复选框列表中的复选框默认处于未选中状态?

c# - 在大型 Asp.net 应用程序中更改每个控件,如 TextBox 的最大长度

asp.net - 如何一次加载 Crystal 报表的所有页面

mysql - 选择一行中的两个空列并在其中任意一列中插入值

c# - 如何在浏览器中下载和显示excel电子表格

c# - 在 Lazy<T> 中转换接口(interface)类型

c# - 比较(JOIN)表并获取新记录

sql - 如何在postgresql中插入循环

php - 使用 MySql 中的变量计算用户对数字标量的评分