Amumu
Amumu

Reputation: 18552

How to add element inside ListItem in code behind?

I want to add something like this in the code behind:

<ul>
   <li><a>A</a></li>
</ul>

However, the ListItem of ASP.NET seems to allow text only:

BulletedList UserSubMenuList = new BulletedList();
ListItem EditUserItem = new ListItem("Edit Profile"); 

Is there other way to add content between <li></li> tag with code behind rather then using HtmlGenericControl?

Upvotes: 1

Views: 5010

Answers (2)

shenhengbin
shenhengbin

Reputation: 4294

Front :

<ul id="test" runat="server">

</ul>

Back:

Label label1=new Label();

label1="test";

test.Controls.Add(new LiteralControl("<li>")); 

test.Controls.Add(label1); 

test.Controls.Add(new LiteralControl("</li>"))

Upvotes: 6

Tim
Tim

Reputation: 28530

Try this:

BulletedList UserSubMenuList = new BulletedList();
UserSubMenuList.Items.Add(new ListItem(HttpUtility.HtmlEncode(@"<a href=\"link\">Edit Profile</a>"));

Note that you'll be clearing whatever was initially displayed if you do the first line (the constructor).

The Text property is simply the string of text to put in the <li> tags - if it's text (like all HTML markup), it should be able to go there.

Upvotes: 1

Related Questions