The web, by nature, is a stateless environment. In order to get around this ASP.NET uses a feature known as ViewState to store information about a page's controls in a hidden form field. When the client submits the page back to the server it reconstructs the controls using this hidden form field (ViewState) and allows the programmer to interact with them easily. What you're doing by editing the controls client-side is invalidating the ViewState, and the server doesn't even know any changes were made. What you'll need to do is make the changes server-side, as ASP.NET intended, or disable viewtstate for the page or for those controls.