动态地从c#代码隐藏添加到DIV标记的链接

时间:2012-04-16 17:54:37

标签: c# .net html

我不确定,直到我在数据库中调用我在页面上需要多少链接以及链接指向的位置。因此,我需要在前端的div标签内创建“x”个链接。任何想法如何实现这一目标?

继承人我试过的事情 -

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

4 个答案:

答案 0 :(得分:2)

在您的aspx页面中有一个div,其runat属性值设置为“server”

<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 :(得分:2)

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

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

答案 2 :(得分:1)

使用文字控件。 将文字控件放在div标签内,从DB值生成html,并将文字控件text属性设置为从DB值生成的html字符串。

答案 3 :(得分:0)

您可以使用转发器迭代一组对象,为每个对象创建标记。对象将从您的数据库中提取。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeater.aspx