We have installed and upgraded quite a few sites to the latest DNN version, 4.5.3, that came out last week and most went seamlessly. However, we have found one issue that has raised it's ugly head quite a few times. After upgrading, if you clicked on "Register" you would be redirected to an admin skinned page with no account fields/content. Looking at the url you can see "/ctl/returnurl". Since the site(s) uses a custom page using a 3rd party module for registration for the account info, it is specified in Admin > Site Settings > Advanced Settings > Page Management > User Page.
Here is the error message:
System.Web.HttpException: Could not load type ''. ---> System.ArgumentException: String cannot have zero length. at System.Reflection.Assembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase) at System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) --- End of inner exception stack trace --- at System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) at DotNetNuke.Framework.Reflection.CreateType(String TypeName, String CacheKey, Boolean UseCache, Boolean IgnoreErrors)
Luckily we found a post on the DNN Forums concerning the quick fix...
4.5.3 New user registration not working if specific page defined
In the above post someone else was having a similar issue. It looks like there was a bug reported as well:
http://support.dotnetnuke.com/issue/ViewIssue.aspx?id=5746
While there could definitely been a longer or better description of the problem, it was quickly closed with "unable to reproduce in 4.5.3" the next day without any followup. Luckily the thread on the forums gained the interest of other having the issue and vitkoz was kind enough to run it through debugging to find the issue and hence the issue has been reopened in the DNN issue tracker.
Here is his fix:
"In the file admin/skins/user.ascx.vb, line 142 needs to be changed:
FROM THIS:
Response.Redirect(NavigateURL(PortalSettings.UserTabId,"returnurl=" & ReturnUrl), True)
TO THIS:
Response.Redirect(NavigateURL(PortalSettings.UserTabId, "Register", "returnurl=" & ReturnUrl), True)
You can simply go to that file, make that change, and IIS will recompile it on the next run." - vitkoz