Ответ 1
Вот как я это сделал, шаг за шагом, начиная с ничего. Этот первый метод использует второй проект/сборку. Для версии App_code прокрутите вниз.
Метод веб-приложения
- Создайте новое веб-приложение ASP.Net. Обратите внимание на это имя, мое название - WebApplication2. Если у вас уже есть существующее веб-приложение, которое, скорее всего, дважды щелкните по разделу свойств вашего проекта и проверьте свойство "Assembly Name", обратите внимание на него.
- Создайте новый класс в веб-приложении с именем Literal.cs
-
Поставьте код, аналогичный приведенному ниже для ограничения класса:
namespace CustomControls { public class Literal : System.Web.UI.WebControls.Literal { } }
-
Добавьте следующий тег реестра в начало страницы aspx
<% @Регистрация сборки = "WebApplication2" Пространство имен = "CustomControls" tagprefix = "веб" % >
Если имя вашей сборки было другим, измените его здесь. Я заметил, что когда я это делал в VB.Net, пространство имен было WebApplication1.CustomControls, а не просто CustomControls, как это было в С#, что-то странное.
-
Добавьте новый элемент управления на свою страницу:
< web: Literal ID = "Literal1" Runat = "Сервер" Текст = "тест" / >
Отдельный метод проекта
- Создайте новый пустой веб-сайт (ASP.Net).
- Добавьте в решение новую библиотеку управления ASP.Net Server с именем CustomControls.
-
Добавьте новый класс в новый проект Literal (я использую С#, поэтому мой файл называется Literal.cs). Ниже приведен мой супер базовый код, который, я считаю, должен соответствовать коду, описанному в вопросе.
namespace CustomControls { public class Literal : System.Web.UI.WebControls.Literal { } }
-
Добавьте ссылку на проект CustomControls на свой веб-сайт.
-
Добавьте регистрацию сборки вверху страницы aspx:
<% @Регистрация сборки = "CustomControls " Пространство имен = "CustomControls" tagprefix = "веб" % >
-
Добавьте новый экземпляр элемента управления на свою страницу:
< web: Literal ID = "Literal1" Runat = "Сервер" Текст = "тест" / >
В методе App_Code
- Создайте новый пустой веб-сайт (ASP.Net).
-
Добавить новый класс в папку App_Code Literal2 (я использую С#, поэтому мой файл называется Literal2.cs). Ниже мой супер базовый код, который, я считаю, должен соответствовать коду, описанному в вопросе. Я назвал его 2, чтобы вы могли использовать его в сочетании с описанным выше методом без ошибок компиляции.
namespace CustomControls { public class Literal2 : System.Web.UI.WebControls.Literal { } }
-
Зарегистрируйте пространство сборки /names для app_code на странице aspx, добавив следующую строку в начало
<% @Пространство имен в регистре = "CustomControls "Сборка =" __ Код " tagprefix = "веб" % >
-
Добавьте экземпляр нового элемента управления на свою страницу:
< web: Literal2 ID = "literal2" Runat = "Сервер" Текст = "test2" / >
Я тестировал это с помощью визуальной студии, и все это отлично работало для меня.