Paul,
hi. I Have posted this on several threads but would need some time to research to find them. Basically this can happen if you leave certain fields for users null within the Core Integration area. Although we 'highly' recommend these fields such as First Name, Last Name, Email Address there is a fix to modify a user .ascx file and remove pulling those fields in. DotNetNuke did have this listed as a bug within gemini (if those fields are null or empty such as a users email address) it would not display the error. You might notice within that page if you search for users that don't have those fields empty you won't get the error etc...
Here was my original post on this on the DNN Benefactors forum:
Hi. I have a few issues coming up with the new standard "Admin, User Accounts" area within DotNetNuke 4.3.x. For custom registration modules not everyone wants to use the standard fields (i.e. First/Last Names or DisplayName). Within the new user accounts there are certain fields using the TextColumn control which is throwing and error if a null value is returned for these fields.
Code (within users.ascx under admin\users, I had to remove the < > tags for because they are not allowed on the forum)
dnn:textcolumn datafield="UserName" headertext="Username"/
dnn:textcolumn datafield="FirstName" headertext="FirstName"/
dnn:textcolumn datafield="LastName" headertext="LastName"/
dnn:textcolumn datafield="DisplayName" headertext="DisplayName"/
If any custom module creates a user within the system without a first name for example, or a display name then User Accounts returns this error when binding the grid:
Error: User Accounts is currently unavailable.
DotNetNuke.Services.Exceptions.ModuleLoadException: Object reference not set to an instance of an object. ---> System.NullReferenceException: Object reference not set to an instance of an object. at DotNetNuke.UI.WebControls.TextColumnTemplate.GetValue(DataGridItem container) at DotNetNuke.UI.WebControls.TextColumnTemplate.Item_DataBinding(Object sender, EventArgs e) at System.Web.UI.Control.OnDataBinding(EventArgs e) at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) at System.Web.UI.Control.DataBind() at System.Web.UI.Control.DataBindChildren() at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) at System.Web.UI.Control.DataBind() at System.Web.UI.Control.DataBindChildren() at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) at System.Web.UI.Control.DataBind() at System.Web.UI.WebControls.DataGrid.CreateItem(Int32 itemIndex, Int32 dataSourceIndex, ListItemType itemType, Boolean dataBind, Object dataItem, DataGridColumn[] columns, TableRowCollection rows, PagedDataSource pagedDataSource) at System.Web.UI.WebControls.DataGrid.CreateControlHierarchy(Boolean useDataSource) at System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) at System.Web.UI.WebControls.BaseDataList.DataBind() at DotNetNuke.Modules.Admin.Users.UserAccounts.BindData(String SearchText, String SearchField) at DotNetNuke.Modules.Admin.Users.UserAccounts.Page_Load(Object sender, EventArgs e) --- End of inner exception stack trace ---
A workaround for this would be to simply remove those columns from the .ascx files but thats customization which involves retrofits for upgrades.
So it would look like this instead (assuming you also wanted to remove First/Last names etc...):
Any chance future versions of the CORE could include some error handling that would allow for null values here?
A BIG BIG BIG enhancement request would be if you could specify the User Accounts page, similar to how you specify the Login and User/Registration page under Admin, Site Settings. I know many users who have asked about that.
----------------
Here was their response:
This has already been identified as a gemini Issue and I have checked a fix into the Vault for the next Maintenance Release.
The gemini ticket was: http://support.dotnetnuke.com/issue...px?id=2913
I also responded that I didn't think it was fixed but have not heard back yet.