Here is the "BulletedList" from ASP.NET 2.0. Roll your own!
[DefaultProperty("BulletStyle"), SupportsEventValidation,
DefaultEvent("Click"),
Designer("System.Web.UI.Design.WebControls.BulletedListDesigner,
System.Design, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"),
AspNetHostingPermission(SecurityAction.LinkDemand, Level=200),
AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=200)]
public class BulletedList : ListControl, IPostBackEventHandler
{
// Events
[WebSysDescription("BulletedList_OnClick"), WebCategory("Action")]
public event BulletedListEventHandler Click;
// Methods
static BulletedList();
public BulletedList();
protected override void AddAttributesToRender(HtmlTextWriter writer);
private string GetPostBackEventReference(string eventArgument);
protected virtual void OnClick(BulletedListEventArgs e);
protected virtual void RaisePostBackEvent(string eventArgument);
protected internal override void Render(HtmlTextWriter writer);
internal void RenderAccessKey(HtmlTextWriter writer, string AccessKey);
protected virtual void RenderBulletText(ListItem item, int index,
HtmlTextWriter writer);
protected internal override void RenderContents(HtmlTextWriter writer);
void IPostBackEventHandler.RaisePostBackEvent(string eventArgument);
// Properties
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override bool AutoPostBack { get; set; }
[UrlProperty, DefaultValue(""),
WebSysDescription("BulletedList_BulletImageUrl"),
Editor("System.Web.UI.Design.ImageUrlEditor, System.Design, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor)),
WebCategory("Appearance")]
public virtual string BulletImageUrl { get; set; }
[WebSysDescription("BulletedList_BulletStyle"), DefaultValue(0),
WebCategory("Appearance")]
public virtual BulletStyle BulletStyle { get; set; }
public override ControlCollection Controls { get; }
[WebSysDescription("BulletedList_BulletedListDisplayMode"),
DefaultValue(0), WebCategory("Behavior")]
public virtual BulletedListDisplayMode DisplayMode { get; set; }
[DefaultValue(1), WebCategory("Appearance"),
WebSysDescription("BulletedList_FirstBulletNumber")]
public virtual int FirstBulletNumber { get; set; }
[Bindable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override int SelectedIndex { get; set; }
[EditorBrowsable(EditorBrowsableState.Never)]
public override ListItem SelectedItem { get; }
[EditorBrowsable(EditorBrowsableState.Never), Bindable(false)]
public override string SelectedValue { get; set; }
protected override HtmlTextWriterTag TagKey { get; }
internal HtmlTextWriterTag TagKeyInternal { get; }
[WebSysDescription("BulletedList_Target"), WebCategory("Behavior"),
DefaultValue(""), TypeConverter(typeof(TargetConverter))]
public virtual string Target { get; set; }
[EditorBrowsable(EditorBrowsableState.Never)]
public override string Text { get; set; }
// Fields
private bool _cachedIsEnabled;
private int _firstItem;
private int _itemCount;
private static readonly object EventClick;
}
--Peter
--
Co-founder, Eggheadcafe.com developer portal:
http://www.eggheadcafe.com
UnBlog:
http://petesbloggerama.blogspot.com