I have this code that I use to populate a BulletedList in my page with the current roles in the site + some extra information.
So far, since all these are text-related, no problem.
Now I would like to have a LinkButton control at the end of the role string which if pressed it will delete the role (and repopulate the list) (like the functionality that the admin tool in visual studio has)
My question is: Is there a way to do that in a bulleted list, or should I use another control (like a gridview)?
private void BindRolesToList()
{
string[] roles = Roles.GetAllRoles();
string[] data = new string[Roles.GetAllRoles().Count()];
for (int i = 0; i<roles.Length; i++ )
{
data[i] = "Role name: " + roles[i] + ". Number of members in the role: " + Roles.GetUsersInRole(roles[i]).Count() + ".";
}
RoleList.DataSource = data;
RoleList.DataBind();
}
After looking into it some more:
Short answer: No, adding another control inside a
BulletedList
is not possible.BulletedList
s do not support templating.If you want the whole role string to be a
HyperLink
or aLinkButton
, you can simply set theDisplayMode
of theBulletedList
.If you want the LinkButton to appear at the end of the text string, you need to use a more flexible list structure.
Repeater
is probably the easiest to get the effect you are describing.Something like
with code-behind