[ASP .NET] CommandField nie update'uje mi wartości w bazie

0

Cześć, mam sobie tabelę w bazie, w któej jest pole DELETED. Może przyjmować 0, lub jeden. Do GridView selectuje wszystkie rekordy, gdzie deleted = 0.
W GridView mam dodatkową kolumnę: Usuń. Po wciśnięciu tego linka powinien wykonać się update: delete = 1, ale nie dzieje się nic prócz postBacka. Czemu?

Oto fragmenty(wycinek) kodu:

<asp:GridView ID="GridView1" runat="server" blabla
      DataSourceID="SqlDataSource1">
        <Columns>
            <asp:CommandField DeleteText="Usuń" ShowDeleteButton="True" 
                ShowCancelButton="False" >
            </asp:CommandField>
        </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:MainConnection %>" 
        SelectCommand="select p.*, c.name as categoryName
                        from products p
                        left join categories c on c.id = p.categoryID 
                        WHERE p.deleted = 0" 
        DeleteCommand="UPDATE [products] SET [deleted] = 1 WHERE [ID] = @original_ID">
        <DeleteParameters>
            <asp: parameter Name="original_ID" Type="Int64" />
        </DeleteParameters>      
    </asp:SqlDataSource>
0

Witam

Pozwolę sobie zacytować dokumnetację dla GridView:

You must set the DataKeyNames property for the automatic updating and deleting features of the GridView control to work. The values of these key fields are passed to the data source control in order to match the row to update or delete.

Po drugie, możesz skorzystać ze zdarzeń Deleting oraz Deleted źródła danych aby upewnić się, że po naciśnieciu przycisku źródło danych zostało o tym poinformowane.

1 użytkowników online, w tym zalogowanych: 0, gości: 1