Can be caused by an unconditional call to the view's DataBind() method in the Page's Load method.
This overwrites the user modified data just received from the browser with fresh values from the database. As a result the update appears to do nothing.