【问题标题】:Listview with objectdatasource Delete not working带有objectdatasource的Listview删除不起作用
【发布时间】:2010-12-31 01:30:11
【问题描述】:

我的用户控件中有一个 Listview 和 1 个与 ListView 绑定的对象数据源。 现在在 objectdatasource 的 Deletemethod 中,我将 businessobject 作为参数,但在运行时我没有在我的 businessobject 的属性中获得价值......

我还尝试在 ItemTemplate 中使用“Bind”而不是“eval”。但在运行时我在 objectdatasource 的 Deletecommand 中提供的 DeleteMethod 中没有得到任何值... 谁能帮忙知道天气我错过了什么或什么?

我的 Listview 的 ItemTemplate

 <ItemTemplate>
            <asp:HiddenField ID="hidUserAchievementInfoId" runat="server" Value='<%# Bind("UserAchievementInfoId") %>' />
            <asp:HiddenField ID="hidUserIdField" runat="server" Value='<%# Bind("UserId") %>' />
            <tr>
                <td class="style1">
                    <asp:Label ID="AwardLabel" runat="server" Text="Award "></asp:Label>
                </td>
                <td>
                    <asp:Label ID="lblAward" runat="server" Text='<%# Bind("Awards") %>'></asp:Label>
                </td>
            </tr>
            <tr>
                <td class="style1">
                    <asp:Label ID="FieldofAwardLabel" runat="server" Text="Field of Award "></asp:Label>
                </td>
                <td>
                    <asp:Label ID="lblFieldofAward" runat="server" Text='<%# Bind("FieldofAward") %>'></asp:Label>
                </td>
            </tr>
            <tr>
                <td class="style1">
                    <asp:Label ID="TournamentLabel" runat="server" Text="Tournament "></asp:Label>
                </td>
                <td>
                    <asp:Label ID="lblTournament" runat="server" Text='<%# Bind("Tournament") %>'></asp:Label>
                </td>
            </tr>
            <tr>
                <td class="style1">
                    <asp:Label ID="AwardYearLabel" runat="server" Text="Award Year "></asp:Label>
                </td>
                <td>
                    <asp:Label ID="AwardYear" runat="server" Text='<%# Bind("AwardYear") %>'></asp:Label>
                </td>
            </tr>
            <tr>
                <td class="style1">
                    <asp:Label ID="AwardDescriptionLabel" runat="server" Text="Description "></asp:Label>
                </td>
                <td>
                    <asp:Label ID="lblAwardDescription" runat="server" Text='<%# Bind("AwardDescription") %>'></asp:Label>
                </td>
            </tr>
            <tr>
                <td class="style1">
                    <asp:LinkButton ID="EditButton" runat="server" CommandName="Edit" Text="Edit"></asp:LinkButton>
                </td>
                <td>
                    <asp:LinkButton ID="DeleteButton" runat="server" CommandName="Delete" Text="Delete"></asp:LinkButton>
                </td>
            </tr>
        </ItemTemplate>

objectdata 中使用的删除方法 源的删除命令

    public void DeleteUserAchievementInfo(UserAchivementInfoBO BOInstance)
    {
        try
        {
    Int64 UserAchievementInfoId=BOInstance.UserAchievementInfoId
            objUserBasicInfoServiceClient.DeleteUserAchievementInfo(UserAchievementInfoId);
        }
        catch (Exception ex)
        {
            HandleException.LogError(ex);
        }
    }

【问题讨论】:

  • 如果您显示一些代码可能会有所帮助
  • 给我们看看你的代码怎么样,让我们​​看看那里有没有问题?
  • 将其从 wpf 重新标记到 asp.net。

标签: .net asp.net .net-3.5 listview objectdatasource


【解决方案1】:

尝试将业务对象关键字段(例如 id、key...)添加到 listview datakeynames 属性。通过这样做,您至少可以在删除事件中获得键值。

【讨论】:

    猜你喜欢
    • 2016-05-17
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多