What is the container control that you have? If you are using a gridview then add a footer row and show it when you click the Add row button. This off-course is the simplest way to do it but would work for only one row at a time, i.e. you can have only one footer row per gridview. Continuing with gridview, if you need more rows and assuming you are using bound columns, just add an empty row to your data source and refresh the binding. Again very simple to do. If you are not using a gridview and assuming you use HTML tables, then your table should be visible on the server and you need to generate and insert HTML script, which can get a bit clumsy at times.