以编程方式向列表项添加超链接

本文关键字:添加 超链接 列表 编程 方式 | 更新日期: 2023-09-27 18:13:31

我想有以下HTML编程:

<ul><li><a href="#"></a></li></ul>

我可以把<li>加到<ul>。但<a><li>是不可能的。

我代码:

    BulletedList ul = new BulletedList();    
    ListItem li = new ListItem();    
    HyperLink hl = new HyperLink();
    ul.Items.Add(li);
    // li has no property Controls or Items

以编程方式向列表项添加超链接

从项目列表中,如何在列表项中设置链接,使用DisplayMode属性。

<asp:BulletedList ID="BulletedList6" runat="Server" DisplayMode="HyperLink">
    <asp:ListItem Text="Los Angeles" Value="http://www.Los Angeles.aspx"></asp:ListItem>
    <asp:ListItem Text="Atlanta" Value="http://wwwAtlanta.aspx"></asp:ListItem>
    <asp:ListItem Text="San Francisco" Value="http://www.San Francisco.aspx"></asp:ListItem>
</asp:BulletedList>
或者在你的代码中:
BulletedList ul = new BulletedList();
ul.DisplayMode = BulletedListDisplayMode.HyperLink;
ListItem li = new ListItem();
ul.Items.Add(li);

试试这个方法

asp:Literal放到你的.aspx页面

<asp:Literal ID="ltrInfo" runat="server"></asp:Literal>

和后端代码

  ltrInfo.Text = "<ul>";
  ltrInfo.Text += "<li><a href='page1.aspx'>Link one</a></li>";
  ltrInfo.Text += "<li><a href='page2.aspx'>Link Two </a></li>";
  ltrInfo.Text += "</ul>";

您的列表项" li "具有" Text "answers" Value "属性。

您需要手动创建链接,类似于以下内容:

string link = "<a href='"#'">link text</a>";

并将ListItem的'Text'设置为字符串。

如果您经常这样做,那么创建一个继承ListItem的新类可能是值得的,该类在其构造函数中接受两个参数(url和text),并自动创建链接。

编辑:正如另一个答案所表明的那样,您可能还想使用项目列表类的'Hyperlink'的DisplayMode。如果你采用这种方式,你可以使用listtitem的'Value'属性来指定链接的URL,使用'Text'属性来指定链接的文本。