2012-04-16 5 views
0

Я не уверен, пока не сделаю вызов базы данных, сколько ссылок мне нужно на странице и где ссылки указывают. Таким образом, мне нужно создать «x» количество ссылок в теге div на лицевой стороне. Есть идеи, как это можно достичь?Добавление ссылок на тег DIV из C# code-behind динамически

Вот что я попробовал -

foreach (KeyValuePair<string, string> kvp in attachments) 
{ 
    HyperLink hyp = new HyperLink(); 
    hyp.ID = kvp.Key; 
    hyp.Text = kvp.Value; 
    attachmentHiddenDiv.Controls.Add(hyp); 
} 
+0

@Oded Отредактирован вопрос, чтобы добавить пример кода, который я пробовал. – neuDev33

+0

И что с этим не сработало? Какие ошибки? Исключения? – Oded

+0

@Oded Глупая ошибка на моем конце. Вышеприведенный код также работает. – neuDev33

ответ

2

Есть DIV в странице ASPX с RUNAT значением атрибута установлено значение «Сервер»

<div id="divLinks" runat="server"></div> 

и в вашем коде позади, вы можете петлю через пункты и создать столько ссылок

StringBuilder str=new StringBuilder(); 

foreach (KeyValuePair<string, string> kvp in attachments)) 
{ 
    str.Append("<a href='../target.aspx?id="+kvp.Value+"'>kvp.Key</a>"); 
} 
divLinks.InnerHtml=str.ToString(); 
1

Используйте буквальное управление. Поместите литеральный элемент управления внутри тега div, сгенерируйте html из значений DB и установите текстовое свойство literal для строки html, сгенерированной из значений DB.

2

Есть несколько способов, которыми вы можете это сделать. Простейшим было бы добавить элемент управления Literal на странице и установить значение .Text в вашем коде позади Html (список ссылок, которые вы создаете вручную), которые вы хотите отобразить.

Другим вариантом будет использование ретранслятора и привязка его к списку строк url ​​в качестве источника данных с элементом HyperLink в ItemTemplate, который связывает свойство NavigateUrl. Например asp:HyperLink build NavigateUrl within Repeater using XPATH data

Смежные вопросы