2012-04-16 82 views
0

我不确定直到我进行数据库调用时,我需要在页面上有多少链接以及链接指向何处。因此,我需要在前端的div标签内创建'x'个链接。任何想法如何实现?从c#代码中添加链接到DIV标签动态

继承人是我的尝试 -

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 2012-04-16 17:57:53

+0

什么不适合那个?什么错误?例外? – Oded 2012-04-16 17:58:38

+0

@Oded我的错误愚蠢的错误。上面的代码也适用。 – neuDev33 2012-04-16 18:20:03

回答

2

有在你的aspx页面设置为“服务器”

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

runat属性值,并在后面的代码,你可以循环通的项目,创造尽可能多的联系

一个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标签中放置一个文字控件,根据DB值生成html,并将文字控件文本属性设置为从DB值生成的html字符串。

2

有几种不同的方法可以做到这一点。最简单的方法是在页面上添加Literal控件,并将代码中的.Text值设置为您要显示的Html(您手动构建的链接列表)。

另一种选择是使用Repeater并将其绑定到作为数据源的url字符串列表,并在ItemTemplate中绑定NavigateUrl属性的HyperLink项目。例如asp:HyperLink build NavigateUrl within Repeater using XPATH data