Why am I getting errors viewing my ASP.Net user controls in the Visual Studio Designer?


I'm working with ASP.Net in Visual Studio 2010.
I've created several user controls which I include in .aspx pages.
They work fine at runtime, however I run into issues when I am in
"Design" view in Visual Studio.

I've added the following to my web.config:

        <add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
        <add src="~/UserControls/UserControl1.ascx" namespace="" tagName="QuantityManagerUserControl" tagPrefix="ucUserControl1" />
        <add src="~/UserControls/UserControl2.ascx"  namespace="" tagName="PopupUserControl" tagPrefix="ucUserControl2" />

Open in new window

The user controls are included directly as part of the current solution.
I do not have name spaces defined for the controls.

Things are fine when I am in "Source View" of the designer.
But, when I go into design view. The controls do not render.
I get the following error message:
Error Rendering Control - UserControl1
An unhandled exception has occurred.
The 'namespace' attribute cannot be an empty string.

Open in new window

I've tried adding namespaces to the controls, removing the namespace tag from the web.config file.
I still get the same errors.

What am I missing here?
What do I need to do additionally in order to view the controls in the Visual Studio designer?

jxbmaSoftware ConsultantAsked:
Who is Participating?
jxbmaConnect With a Mentor Software ConsultantAuthor Commented:
OK. I finally figured this out.

If you have any user control definitions in the <pages><controls> section in your web config which contain a
namespace="" attribute, then it seems that Visual Studio (2010) will choke on displaying any of the
user controls defined in that section in the designer.

All you need is to have 1 entry in order for this to occur. It doesn't matter that the definition of the embedded control
that you are trying to view does not contain the 'namespace=""' attribute.

Try adding namespace in lines
<add src="~/UserControls/UserControl1.ascx" namespace="" tagName="QuantityManagerUserControl" tagPrefix="ucUserControl1" />

and use the project name as the namespace.
jxbmaSoftware ConsultantAuthor Commented:

I try adding the project as my namespace in the web config.
Doing so caused additional errors when I looked at page in design view.

It should be noted that I don't have an explicit namespace in my user controls.
I tried adding a namespace there and then referencing that namespace in the web.config and I got the
same errors in design view mentioned above.

Is it possible to provide/point me to a sample that actually works.

jxbmaSoftware ConsultantAuthor Commented:
Nobody responded to answering this. I was able to figure it out on my own.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.