Если пользовательский элемент управления находится в вашем текущем проекте, то вам необходимо включить src в оператор регистрации:
<%@ Register TagPrefix="uc1" TagName="NavTop" Src="controls/NavTop.ascx" %>
Однако, если вы используете этот пользовательский элемент управления на нескольких страницах, вы также можете зарегистрировать его в web.config:
<system.web>
<pages>
<controls>
<add tagPrefix="uc1" tagName="NavTop" src="~/controls/NavTop.ascx" />
</controls>
</pages>
</system.web>
Еще одна вещь, о которой следует помнить: бывают случаи, когда дизайнер Visual Studio не «видит» ваши изменения в элементах управления на странице, если вы вносите изменения только в виде исходного кода. Например, если вы измените имя элемента управления, вы можете получить элемент управления с новым именем в ascx, но ссылку на элемент управления со старым именем в файле конструктора. Во время выполнения это приведет к тому, что свойство файла конструктора будет нулевым.
После того, как это было сожжено несколько раз, если я внесу какие-либо изменения в исходное представление, я либо проверяю, правильно ли обновлен файл конструктора, либо я переключаюсь в режим конструктора, вносим незначительные изменения, затем сохраняю страница / пользовательский контроль.