Ok, I'm presuming the way to do it is to present a basic page from server side, fill in the relevant fields client side and somehow post it back, and then present a new page with the additional fields.
How can I perform a single postback? Simply adding __doPostBack('__Page', 'Args') to the end of the SyncToView() javascript method causes an infinite loop as SyncToView() is called every postrender.
Another problem I'm having is that any html elements with runat="server" specified can't seem to be accessed in client-side javascript, specifically this:
<input type="hidden" id="ControlTypeID" runat="server" />
function SyncToView() {
if (element.controltypeid == null)
ControlTypeID.value = '';
else
ControlTypeID.value = element.controltypeid;
}
Complains that ControlTypeID doesn't exist.