#asp.net
#asp.net
Вопрос:
я пытаюсь создать гиперссылку из исходного кода, но она создается не там, где я хочу, чтобы она была.
если я посмотрю, что мой исходный код создается где-то еще и со страницы .aspx, кажется, что все на месте, где оно должно быть.
.aspx
<div class="AZ">
<ol class="AZlist">
<asp:PlaceHolder runat="server" ID="AToZ"></asp:PlaceHolder>
</ol>
</div>
.codebehind
HyperLink links = new HyperLink();
links.Text = "<li>" CheckMe.ToString() "</li>";
links.NavigateUrl = "<a href='#'" CheckMe.ToString() ">";
ph.Controls.Add(links);
исходный код:
….
….
…
<div class="AZ">
<ol class="AZlist">
// I WANT HYPERLINK HERE....!!!!!!!!!!!
</ol>
<br />
</div>
</li>
но здесь она создается за пределами области div
<a href="#A"><li>A</li></a>
Ответ №1:
Я не думаю, что вам следует помещать эти теги в свойства .text и .navigateurl. просто поместите в них ссылку и текст. Поместите <li>
теги вокруг заполнителя.
Комментарии:
1.
<li>
теги вокруг заполнителя? вы покажете, что вы имеете в виду под этим?2. Прошло некоторое время с тех пор, как я делал asp.net веб-формы, но я нашел это в Интернете. Я думаю, это то, что вам нужно.
HtmlGenericControl a = new HtmlGenericControl("ol"); HtmlGenericControl b = new HtmlGenericControl("li"); b.InnerHtml = "<a href='/'>Home</a>; a.Controls.Add(b); //similarly you can add more li controls to ul AToZ.Controls.Add(a);
И удалите теги <ol>, потому что, если у вас нет ссылок для отображения, они вам не понадобятся (они генерируются динамически в этом фрагменте кода)
Ответ №2:
Откажитесь от того, как вы это делаете здесь. Попробуйте сделать свой старый тег runat=»server» и присвоить ему идентификатор. Затем создайте новый элемент управления ListItem, добавьте элемент управления hyperlink и добавьте элемент ListItem в ol.
Что-то вроде этого в коде:
dim anLi = new ListItem([can't remember exact parameters])
dim aHyperlink = new Hyperlink([whatever to initialize])
anLi.addControl(aHyperlink)
theOl.controls.add(anLi)
Ответ №3:
Почему бы вместо этого не использовать asp: repeater.
Затем вы могли бы поместить всю свою разметку в шаблон aspx, используя шаблоны верхнего / подробного / нижнего колонтитула. Далее просто переведите значения текста и URL в формат, доступный для привязки, в исходном коде и привязке данных.
Избавляет от выполнения разметки в коде и необходимости динамически вставлять элементы управления, которые могут вызвать головную боль при обработке обратной стороны публикации.