.net objectdatasource删除不起作用的Listview

.net objectdatasource删除不起作用的Listview,.net,asp.net,.net-3.5,listview,objectdatasource,.net,Asp.net,.net 3.5,Listview,Objectdatasource,我的Usercontrol中有一个Listview&1 objectdatasource与Listview绑定。 现在在objectdatasource的Deletemethod中,我将businessobject作为参数,但在运行时,我并没有从businessobject的属性中获得值 我还尝试在ItemTemplate中使用“Bind”而不是“eval”。但在运行时,在objectdatasource的Deletecommand中提供的DeleteMethod中没有获取任何值。。。 有人能帮

我的Usercontrol中有一个Listview&1 objectdatasource与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>

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

如果您显示一些代码,可能会有所帮助。如何向我们显示您的代码,以便我们查看是否有问题?请将其从wpf重新标记到asp.net。
    public void DeleteUserAchievementInfo(UserAchivementInfoBO BOInstance)
    {
        try
        {
    Int64 UserAchievementInfoId=BOInstance.UserAchievementInfoId
            objUserBasicInfoServiceClient.DeleteUserAchievementInfo(UserAchievementInfoId);
        }
        catch (Exception ex)
        {
            HandleException.LogError(ex);
        }
    }