You can do this with a some AJAX, I prefer to use JQuery to streamline the process for me. When I do the same thing on my pages this is how I do it:
- The page loads without the table.
- The page (from the client) sends an AJAX request to the server for the table data.
- The table data is returned and the table itself is built in javascript. This can be done by generating the table object or you can write the html yourself (that's how I do it).
- I attach events to the two buttons, in your case a plus and a minus, that fires a javascript event.
- The javascript event sends an AJAX request back to the server asking for a delete or new row.
- The deleted row is either removed in javascript, or added in.
Now you can either request the data through AJAX and then build the table row yourself, or you can ask the server to send you the row pre formatted. Either way remember that these objects, the buttons and the table, will not be ASP.Net objects, will not be in Viewstate and will not persist through post backs so be prepared to rebuild this table each time you perform a post back.