To fix this problem. Check if there are validators preventing the page from saving, put in fake data to stop validation.
When developing webparts, put in code to disable validators while in edit mode.
//if we are not in display mode disable all the validation controls to make sure saving the page the webpart is on works. if (SPWebPartManager.GetCurrentWebPartManager(Page).DisplayMode != WebPartManager.BrowseDisplayMode) { foreach (var validator in Controls) { if (validator is BaseValidator) { ((BaseValidator)validator).Enabled = false; } } }