1

我在 ASP.Net 页面上使用 FormView 控件,该控件带有一个 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>

谢谢你的帮助!

4

1 回答 1

4

寻找另一个 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) {
    ...
}
于 2013-05-20T01:43:11.210 回答