The ContactEditor control uses a template, which contains the controls that display when ContactEditor is used. This template can be an ascx file, which is specified in the web.config as a property for the module provider. There is code in the CreateChildControls()
method of ContactEditor that checks to see if the path specified in the web.config is null. If so, it loads a default template, created in code. This is what the DefaultContactEditorTemplate class is - this default template. If execution reaches this point with the //TODO comment, this means that:
1. You do not have a template .ascx file specifying the markup for the control
2. You have the file, but it is not set as a property for the provider in web.config
You can solve this, by creating the needed controls and markup in code, exactly where the //TODO comment is. You can create the controls that you need to display programatically. You can also create the template in an ascx file.
Here is a sample of how it looks: http://sitefinity.files.wordpress.com/2007/04/new_contact.jpg
. I suggest doing both, just in case something messes up with the path to the ascx file.
You can see which property to set in web.config, by looking at the ContactsProvider
class. In the Initialize method, there is code checking web.config for values. The property specifying the ContactEditor template is currently called "contactEditorTemplate".
Hope this makes it a little clearer.
All the best,
the Telerik team