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

本文关键字:DIV 链接 隐藏 添加 代码 动态 | 更新日期: 2023-09-27 18:31:22

在我进行数据库调用之前,我不确定页面上需要多少链接以及链接指向的位置。因此,我需要在前端的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);
}

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

在 aspx 页中有一个div,将 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();

有几种不同的方法可以做到这一点。最简单的方法是在页面上添加文本控件并设置 .代码中的文本值隐藏到要显示的 Html(手动生成的链接列表)。

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

使用文本控件。将文本控件放在div 标记内,从数据库值生成 html,并将文本控件文本属性设置为从数据库值生成的 html 字符串。

您可以使用中继器循环访问一组对象,为每个对象创建标记。将从数据库中提取对象。

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