0
使用asp.net C#。 我有BulletList,我想添加ListItem,將與孩子呈現。 也就是說,在每個<li>
裏面,我可以添加更多控件來渲染。如何擴展ListItem以便能夠在子項列表中使用子項
我該如何做到這一點?
感謝
使用asp.net C#。 我有BulletList,我想添加ListItem,將與孩子呈現。 也就是說,在每個<li>
裏面,我可以添加更多控件來渲染。如何擴展ListItem以便能夠在子項列表中使用子項
我該如何做到這一點?
感謝
我不知道爲什麼有BulletedList中的listItems中的一個集合。 ListItems通常用於表單元素(即Selected,Value,Text屬性),對於用於項目符號列表沒有意義。也沒有包含子ListItems的屬性來實現您的目標。我建議使用你自己的類來做到這一點。這裏是一個快速樣機:
public static class BulletList
{
public static string RenderList(List<BulletListItem> list) {
var sb = new StringBuilder();
if (list != null && list.Count > 0)
{
sb.Append("<ul>");
foreach(var item in list) {
sb.Append(item.Content);
sb.Append(BulletList.RenderList(item.Children));
}
sb.Append("</ul>");
}
return sb.ToString();
}
}
public class BulletListItem
{
public string Content { get; set; }
public List<BulletListItem> Children { get; set; }
}
然後您可以創建與兒童和其輸出列表...
var items = new List<BulletListItem>();
items.Add(new BulletListItem() { Content = "Root 1" });
items.Add(new BulletListItem() { Content = "Root 2", Children = new List<BulletListItem>() { new BulletListItem() { Content = "Child 2.1" }} });
items.Add(new BulletListItem() { Content = "Root 3" });
Response.Write(BulletList.RenderList(items));
不從Control繼承neccesary?不應該控制? – Himberjack 2011-03-28 07:54:38
使用網頁控件取決於你想完成什麼。例如,如果您想在回發之間保持狀態,這是Web控件的主要用途,那麼您可以將其轉換爲適合該模型。爲了簡單地輸出一個不需要維護狀態的列表,只需輸出html即可。如果你需要在頁面上做回發,我會建議使用ajax並返回json /只有你需要的數據和通過javascript操作頁面內容。你也可以使用updatePanels,但它取決於你最熟悉的。 – 2011-03-29 00:25:45