Я разделил на подклассы DropDownList
добавить функциональность, характерную для моего приложения:
public class MyDropDownList : DropDownList
{
...
}
... затем ссылаемый это в Web.Config
, который является, где я полагаю, что вещи начинают идти не так, как надо:
<pages theme="Main">
<controls>
<add tagPrefix="bob" tagName="MyDropDownList" src="~/Components/MyDropDownList.cs" />
</controls>
</pages>
моя ссылка на него не работает:
<tr><td>Category</td>
<td><bob:MyDropDownList runat="server" ID="Category"... />
и моя лучшая подсказка является сообщением об ошибке компилятора:
"The file 'src' is not a valid [sic] here because it doesn't expose a type."
Я полагаю, что неправильно употребляю знание того, как создать Управление Интернет-пользователя здесь. То, что я хочу смочь сделать, относятся к этому управлению на странице ASP.NET точно так же, как я был бы родитель DropDownList
. Рефакторинг назад в Управление Интернет-пользователя, которое содержит a DropDownList
не желательно, потому что я хочу применить a RequiredFieldValidator
к нему.
<pages theme="Main">
<controls>
<add tagPrefix="bob" namespace="MyProject" assembly="MyProject" />
</controls>
</pages>
Это должно помочь.
Ответ @Joops спас меня.
Что я сделал иначе, так это зарегистрировал пространство имен вверху моей страницы, потому что оно мне не нужно было везде.
т.е.
<%@ Register TagPrefix="myTagPrefix" Namespace="MySolution.MyProject.Foo.Bar"
Assembly="MySolution.MyProject" %>
Ура, Юп!