The problem is that ASP.NET does not get to know about this extra or removed listitem. You got an number of options (listed below):
- Disable eventvalidation (bad idea, because you lose a little of security that come with very little cost).
- Use ASP.NET Ajax UpdatePanel. (Put the listbox in the Updatepanel and trigger a update,if you add or remove listbox. This way viewstate and related fields get updates and eventvalidation will pass.)
- Forget client-side and use the classic postback and add or remove the listitems server-side
and my point of view you have post back with invalid request or your generated markup not proper , try to put these button outside list and check
whether your problem persist or not.
I hope this helps.