Скажем, у меня есть динамически созданный LinkButton в моем коде ascx.cs. Как я могу «напечатать» этот элемент управления на моей странице? Очевидно, я не могу сделать что-то вроде просто напечатать свойство Text, поскольку мне нужна кнопка, чтобы сохранить ее гиперссылку. Я предполагаю, что хочу использовать метод WebControl.Render, но я вообще не знаком с ним и не смог найти хороший пример его использования.Как напечатать LinkButton на странице?
ответ
Эта статья http://www.tomot.de/en-us/article/3/asp.net/create-a-control-in-the-codebehind-and-retrieve-its-rendered-output должна объяснить основы того, что вы ищете.
принят ответ, но нет поддержки? была статья не полезна? – citronas
Вы могли бы обеспечить метку в нужном месте на странице: <asp:Label id="myLinkButtonPlace" runat="server"></asp:Label>
, и в коде, вы можете добавить LinkButton к ControlCollection метки: this.myLinkButtonPlace.Controls.Add(aLinkButton);
Я не могу получить доступ к myLinkButtonPlace из кода. Когда я пытаюсь выполнить myLinkButtonPlace.Controls.Add (кнопка), он не распознает myLinkButtonPlace. –
Даже если вы попытаетесь его построить? Иногда компилятор времени разработки VS немного отстает от разметки asp.net. –
Да, это меня смутило. –
Исходя из @Joachim VR, есть много другие элементы управления asp.net, с помощью которых вы можете добавить динамически созданный элемент управления.
<asp:Label id="Label1" runat="server" />
<asp:PlaceHolder id="Placeholder1" runat="server" />
<asp:Panel id="Panel1" runat="server" />
Вышеупомянутое будет выглядеть иначе. Таким образом, метка будет отображаться как панель <span id="Label1"><a></a></span>
как < div id="Placeholder1"><a></a></div>
Заполнитель просто вынести как <a></a>
Мой ответ показывает, как вы можете добиться того, что хотите сделать, с вашей первоначальной идеей метода RenderControl – citronas