我希望以编程方式提供以下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
答案 0 :(得分:13)
从BulletedList, how to set link in ListItem开始,使用DisplayMode Property。
<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);
答案 1 :(得分:5)
试试这种方式
在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>";
答案 2 :(得分:1)
您的列表项'li'具有'Text'和'Value'的属性。
您需要手动创建链接,类似于以下内容:
string link = "<a href=\"#\">link text</a>";
并将ListItem的'Text'设置为字符串。
如果您经常这样做,可能值得创建一个继承自ListItem的新类,该类在其构造函数(url和text)中接受两个参数,并自动创建链接。
编辑:如另一个答案所示,您可能还想使用BulletedList类的'Hyperlink'的DisplayMode。如果采用此路线,则可以使用ListItem的“值”属性指定链接应该转到的URL,并使用“文本”属性指定链接文本。