Hi,
You may use a gridview option rather using an individual Button for this functionality.
Option 1:
In Gridview, you have a option to add the [Command Type -> Button Controls]
Button will be available on each Row and which ever button you click the event will be generated and that can be handled in code Behind to your specific operations.
Find sample application here.
Row updating event in gridview ASP.NET[
^]
Option 2:
You can add a Check box control for each Row, finally when you click Submit Button, then as you are doing you can check each row of grid, and update Databse only the Check box status is checked else discard.
Note: If you have 1000+ rows, in this approach all the rows needs to be traversed which is not optimal.
Thanks!