I'd like to see the ability to override the viewstate enhancement made by DNN. By default asp.net places the viewstate at the top of the page, so that there is no viewstate corruption if the client does a postback before the page has fully loaded. The viewstate enhancement made by DNN, which places it at the bottom of the page, causes problems on slower-loading pages if the user clicks the postback too quickly. I understand placement at the bottom for search engine optimization. And, in most cases it works fine. But viewstate corruption does occur, and it is untrappable.
I'd like DNN to have the ability to override this enhancement since this can't be done entirely by a module (since viewstate is a page event, not a control event), and since I think this will become more of a problem as time goes on, as more web site owners switch to DNN worldwide, latency becomes a greater issue etc.
The issue is in render() of PageBase.vb.
And, as long as we're discussing PageBase.vb... It appears to me the ProcessControl function should be optimized too. TypeOf is an expensive operation, it tests around 15 types (even if it found it prior) and it continues to check even if there's no localization data. And ProcessControl loops through every control on the page, even if they match types it doesn't break out of the tests. With each DNN tooltipped control having about three controls, and most pages having 100 or so controls...it seems to me that optimizing out the high-hit programming would have a lot of effect there.