Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / BulletedList.cs / 1305376 / BulletedList.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Globalization;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing.Design;
using System.Web.Util;
///
/// Generates a bulleted list.
///
[DefaultProperty("BulletStyle")]
[DefaultEvent("Click")]
[Designer("System.Web.UI.Design.WebControls.BulletedListDesigner, " + AssemblyRef.SystemDesign)]
[SupportsEventValidation]
public class BulletedList : ListControl, IPostBackEventHandler {
private static readonly object EventClick = new object();
private bool _cachedIsEnabled;
private int _firstItem;
private int _itemCount;
///
public BulletedList() {
_firstItem = 0;
_itemCount = -1;
}
///
/// Gets the value of the base classes AutoPostBack propert.
/// AutoPostBack is not applicable to the bulleted list control
///
[
Browsable(false),
EditorBrowsable(EditorBrowsableState.Never)
]
public override bool AutoPostBack {
get {
return base.AutoPostBack;
}
set {
throw new NotSupportedException(SR.GetString(SR.Property_Set_Not_Supported, "AutoPostBack", this.GetType().ToString()));
}
}
///
/// Gets or sets a value indicating the style of bullet to be
/// applied to the list.
///
[
WebCategory("Appearance"),
DefaultValue(BulletStyle.NotSet),
WebSysDescription(SR.BulletedList_BulletStyle)
]
public virtual BulletStyle BulletStyle {
get {
object o = ViewState["BulletStyle"];
return((o == null) ? BulletStyle.NotSet : (BulletStyle)o);
}
set {
if (value < BulletStyle.NotSet || value > BulletStyle.CustomImage) {
throw new ArgumentOutOfRangeException("value");
}
ViewState["BulletStyle"] = value;
}
}
///
/// Gets or sets the source of the image used for an
/// Image styled bulleted list.
///
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
UrlProperty(),
WebSysDescription(SR.BulletedList_BulletImageUrl)
]
public virtual string BulletImageUrl {
get {
object o = ViewState["BulletImageUrl"];
return((o == null) ? string.Empty : (string)o);
}
set {
ViewState["BulletImageUrl"] = value;
}
}
///
/// Gets the EmptyControlCollection.
///
public override ControlCollection Controls {
get {
return new EmptyControlCollection(this);
}
}
///
/// Gets or sets the display mode of the bulleted list.
///
[
WebCategory("Behavior"),
DefaultValue(BulletedListDisplayMode.Text),
WebSysDescription(SR.BulletedList_BulletedListDisplayMode) //
]
public virtual BulletedListDisplayMode DisplayMode {
get {
object o = ViewState["DisplayMode"];
return ((o == null) ? BulletedListDisplayMode.Text : (BulletedListDisplayMode)o);
}
set {
if (value < BulletedListDisplayMode.Text || value > BulletedListDisplayMode.LinkButton) {
throw new ArgumentOutOfRangeException("value");
}
ViewState["DisplayMode"] = value;
}
}
///
/// Gets or sets the value at which an ordered list should
/// begin its numbering.
///
[
WebCategory("Appearance"),
DefaultValue(1),
WebSysDescription(SR.BulletedList_FirstBulletNumber)
]
public virtual int FirstBulletNumber {
get {
object o = ViewState["FirstBulletNumber"];
return((o == null) ? 1 : (int)o);
}
set {
ViewState["FirstBulletNumber"] = value;
}
}
///
/// Gets the value of selected index. Not applicable to the
/// bulleted list control.
///
[
Bindable(false),
EditorBrowsable(EditorBrowsableState.Never)
]
public override int SelectedIndex {
get {
return base.SelectedIndex;
}
set {
throw new NotSupportedException(SR.GetString(SR.BulletedList_SelectionNotSupported));
}
}
///
/// Gets the selected item. Not applicable to the
/// bulleted list control.
///
[
EditorBrowsable(EditorBrowsableState.Never)
]
public override ListItem SelectedItem {
get {
return base.SelectedItem;
}
}
[
Bindable(false),
EditorBrowsable(EditorBrowsableState.Never)
]
public override string SelectedValue {
get {
return base.SelectedValue;
}
set {
throw new NotSupportedException(SR.GetString(SR.BulletedList_SelectionNotSupported));
}
}
///
/// Gets the HtmlTextWriterTag value that corresponds
/// to the particular bulleted list.
///
protected override HtmlTextWriterTag TagKey {
get {
return TagKeyInternal;
}
}
internal HtmlTextWriterTag TagKeyInternal {
get {
switch (BulletStyle) {
// Ordered Lists
case BulletStyle.LowerAlpha:
case BulletStyle.UpperAlpha:
case BulletStyle.LowerRoman:
case BulletStyle.UpperRoman:
case BulletStyle.Numbered:
return HtmlTextWriterTag.Ol;
// Unordered Lists
case BulletStyle.Square:
case BulletStyle.Circle:
case BulletStyle.Disc:
return HtmlTextWriterTag.Ul;
// Image Lists
case BulletStyle.CustomImage:
return HtmlTextWriterTag.Ul;
// Not Set
case BulletStyle.NotSet:
// NotSet is specified as an unordered list.
return HtmlTextWriterTag.Ul;
default:
Debug.Assert(false, "Invalid BulletStyle");
return HtmlTextWriterTag.Ol;
}
}
}
///
/// Gets or sets the Target window when the
/// list is displayed as Hyperlinks.
///
[
WebCategory("Behavior"),
DefaultValue(""),
WebSysDescription(SR.BulletedList_Target),
TypeConverter(typeof(TargetConverter))
]
public virtual string Target {
get {
object o = ViewState["Target"];
return ((o == null) ? string.Empty : (string)o);
}
set {
ViewState["Target"] = value;
}
}
[
EditorBrowsable(EditorBrowsableState.Never)
]
public override string Text {
get {
return base.Text;
}
set {
throw new NotSupportedException(SR.GetString(SR.BulletedList_TextNotSupported));
}
}
///
/// Occurs when the a link button is clicked.
///
[
WebCategory("Action"),
WebSysDescription(SR.BulletedList_OnClick)
]
public event BulletedListEventHandler Click {
add {
Events.AddHandler(EventClick, value);
}
remove {
Events.RemoveHandler(EventClick, value);
}
}
///
/// Adds HTML attributes that need to be rendered.
///
protected override void AddAttributesToRender(HtmlTextWriter writer) {
bool addBulletNumber = false;
switch (BulletStyle) {
case BulletStyle.NotSet:
break;
case BulletStyle.Numbered:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "decimal");
addBulletNumber = true;
break;
case BulletStyle.LowerAlpha:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "lower-alpha");
addBulletNumber = true;
break;
case BulletStyle.UpperAlpha:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "upper-alpha");
addBulletNumber = true;
break;
case BulletStyle.LowerRoman:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "lower-roman");
addBulletNumber = true;
break;
case BulletStyle.UpperRoman:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "upper-roman");
addBulletNumber = true;
break;
case BulletStyle.Disc:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "disc");
break;
case BulletStyle.Circle:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "circle");
break;
case BulletStyle.Square:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "square");
break;
case BulletStyle.CustomImage:
String url = ResolveClientUrl(BulletImageUrl);
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleImage, "url(" + HttpUtility.UrlPathEncode(url) + ")");
break;
default:
Debug.Assert(false, "Invalid BulletStyle");
break;
}
int firstBulletNumber = FirstBulletNumber;
if ((addBulletNumber == true) && (firstBulletNumber != 1)) {
writer.AddAttribute("start", firstBulletNumber.ToString(CultureInfo.InvariantCulture));
}
base.AddAttributesToRender(writer);
}
private string GetPostBackEventReference(string eventArgument) {
if (CausesValidation && Page.GetValidators(ValidationGroup).Count > 0) {
return ClientScriptManager.JscriptPrefix + Util.GetClientValidatedPostback(this, ValidationGroup, eventArgument);
} else {
return Page.ClientScript.GetPostBackClientHyperlink(this, eventArgument, true);
}
}
///
/// Raises the Click event.
///
protected virtual void OnClick(BulletedListEventArgs e) {
BulletedListEventHandler onClickHandler = (BulletedListEventHandler)Events[EventClick];
if (onClickHandler != null)
onClickHandler(this, e);
}
///
/// Writes the text of each bullet according to the list's display mode.
///
protected virtual void RenderBulletText(ListItem item, int index, HtmlTextWriter writer) {
switch (DisplayMode) {
case BulletedListDisplayMode.Text:
if (!item.Enabled) {
RenderDisabledAttributeHelper(writer, false);
writer.RenderBeginTag(HtmlTextWriterTag.Span);
}
HttpUtility.HtmlEncode(item.Text, writer);
if (!item.Enabled) {
writer.RenderEndTag();
}
break;
case BulletedListDisplayMode.HyperLink:
if (_cachedIsEnabled && item.Enabled) {
writer.AddAttribute(HtmlTextWriterAttribute.Href, ResolveClientUrl(item.Value));
string target = Target;
if (!String.IsNullOrEmpty(target)) {
writer.AddAttribute(HtmlTextWriterAttribute.Target, Target);
}
}
else {
RenderDisabledAttributeHelper(writer, item.Enabled);
}
RenderAccessKey(writer, AccessKey);
writer.RenderBeginTag(HtmlTextWriterTag.A);
HttpUtility.HtmlEncode(item.Text, writer);
writer.RenderEndTag();
break;
case BulletedListDisplayMode.LinkButton:
if (_cachedIsEnabled && item.Enabled) {
writer.AddAttribute(HtmlTextWriterAttribute.Href, GetPostBackEventReference(index.ToString(CultureInfo.InvariantCulture)));
}
else {
RenderDisabledAttributeHelper(writer, item.Enabled);
}
RenderAccessKey(writer, AccessKey);
writer.RenderBeginTag(HtmlTextWriterTag.A);
HttpUtility.HtmlEncode(item.Text, writer);
writer.RenderEndTag();
break;
default:
Debug.Assert(false, "Invalid BulletedListDisplayMode");
break;
}
}
private void RenderDisabledAttributeHelper(HtmlTextWriter writer, bool isItemEnabled) {
if (SupportsDisabledAttribute) {
writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled");
}
else if (!isItemEnabled && !String.IsNullOrEmpty(DisabledCssClass)) {
writer.AddAttribute(HtmlTextWriterAttribute.Class, DisabledCssClass);
}
}
internal void RenderAccessKey(HtmlTextWriter writer, string AccessKey) {
string s = AccessKey;
if (s.Length > 0) {
writer.AddAttribute(HtmlTextWriterAttribute.Accesskey, s);
}
}
protected internal override void Render(HtmlTextWriter writer) {
// Don't render anything if the control is empty
if (Items.Count == 0) {
return;
}
base.Render(writer);
}
///
/// Renders the ListItems as bullets in the bulleted list.
///
protected internal override void RenderContents(HtmlTextWriter writer) {
_cachedIsEnabled = IsEnabled;
if (_itemCount == -1) {
for (int i = 0; i < Items.Count; i++) {
Items[i].RenderAttributes(writer);
writer.RenderBeginTag(HtmlTextWriterTag.Li);
RenderBulletText(Items[i], i, writer);
writer.RenderEndTag();
}
}
else {
for (int i = _firstItem; i < _firstItem + _itemCount; i++) {
Items[i].RenderAttributes(writer);
writer.RenderBeginTag(HtmlTextWriterTag.Li);
RenderBulletText(Items[i], i, writer);
writer.RenderEndTag();
}
}
}
protected virtual void RaisePostBackEvent(string eventArgument) {
ValidateEvent(this.UniqueID, eventArgument);
if (CausesValidation) {
Page.Validate(ValidationGroup);
}
OnClick(new BulletedListEventArgs(Int32.Parse(eventArgument, CultureInfo.InvariantCulture)));
}
void IPostBackEventHandler.RaisePostBackEvent(string eventArgument) {
RaisePostBackEvent(eventArgument);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Globalization;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing.Design;
using System.Web.Util;
///
/// Generates a bulleted list.
///
[DefaultProperty("BulletStyle")]
[DefaultEvent("Click")]
[Designer("System.Web.UI.Design.WebControls.BulletedListDesigner, " + AssemblyRef.SystemDesign)]
[SupportsEventValidation]
public class BulletedList : ListControl, IPostBackEventHandler {
private static readonly object EventClick = new object();
private bool _cachedIsEnabled;
private int _firstItem;
private int _itemCount;
///
public BulletedList() {
_firstItem = 0;
_itemCount = -1;
}
///
/// Gets the value of the base classes AutoPostBack propert.
/// AutoPostBack is not applicable to the bulleted list control
///
[
Browsable(false),
EditorBrowsable(EditorBrowsableState.Never)
]
public override bool AutoPostBack {
get {
return base.AutoPostBack;
}
set {
throw new NotSupportedException(SR.GetString(SR.Property_Set_Not_Supported, "AutoPostBack", this.GetType().ToString()));
}
}
///
/// Gets or sets a value indicating the style of bullet to be
/// applied to the list.
///
[
WebCategory("Appearance"),
DefaultValue(BulletStyle.NotSet),
WebSysDescription(SR.BulletedList_BulletStyle)
]
public virtual BulletStyle BulletStyle {
get {
object o = ViewState["BulletStyle"];
return((o == null) ? BulletStyle.NotSet : (BulletStyle)o);
}
set {
if (value < BulletStyle.NotSet || value > BulletStyle.CustomImage) {
throw new ArgumentOutOfRangeException("value");
}
ViewState["BulletStyle"] = value;
}
}
///
/// Gets or sets the source of the image used for an
/// Image styled bulleted list.
///
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
UrlProperty(),
WebSysDescription(SR.BulletedList_BulletImageUrl)
]
public virtual string BulletImageUrl {
get {
object o = ViewState["BulletImageUrl"];
return((o == null) ? string.Empty : (string)o);
}
set {
ViewState["BulletImageUrl"] = value;
}
}
///
/// Gets the EmptyControlCollection.
///
public override ControlCollection Controls {
get {
return new EmptyControlCollection(this);
}
}
///
/// Gets or sets the display mode of the bulleted list.
///
[
WebCategory("Behavior"),
DefaultValue(BulletedListDisplayMode.Text),
WebSysDescription(SR.BulletedList_BulletedListDisplayMode) //
]
public virtual BulletedListDisplayMode DisplayMode {
get {
object o = ViewState["DisplayMode"];
return ((o == null) ? BulletedListDisplayMode.Text : (BulletedListDisplayMode)o);
}
set {
if (value < BulletedListDisplayMode.Text || value > BulletedListDisplayMode.LinkButton) {
throw new ArgumentOutOfRangeException("value");
}
ViewState["DisplayMode"] = value;
}
}
///
/// Gets or sets the value at which an ordered list should
/// begin its numbering.
///
[
WebCategory("Appearance"),
DefaultValue(1),
WebSysDescription(SR.BulletedList_FirstBulletNumber)
]
public virtual int FirstBulletNumber {
get {
object o = ViewState["FirstBulletNumber"];
return((o == null) ? 1 : (int)o);
}
set {
ViewState["FirstBulletNumber"] = value;
}
}
///
/// Gets the value of selected index. Not applicable to the
/// bulleted list control.
///
[
Bindable(false),
EditorBrowsable(EditorBrowsableState.Never)
]
public override int SelectedIndex {
get {
return base.SelectedIndex;
}
set {
throw new NotSupportedException(SR.GetString(SR.BulletedList_SelectionNotSupported));
}
}
///
/// Gets the selected item. Not applicable to the
/// bulleted list control.
///
[
EditorBrowsable(EditorBrowsableState.Never)
]
public override ListItem SelectedItem {
get {
return base.SelectedItem;
}
}
[
Bindable(false),
EditorBrowsable(EditorBrowsableState.Never)
]
public override string SelectedValue {
get {
return base.SelectedValue;
}
set {
throw new NotSupportedException(SR.GetString(SR.BulletedList_SelectionNotSupported));
}
}
///
/// Gets the HtmlTextWriterTag value that corresponds
/// to the particular bulleted list.
///
protected override HtmlTextWriterTag TagKey {
get {
return TagKeyInternal;
}
}
internal HtmlTextWriterTag TagKeyInternal {
get {
switch (BulletStyle) {
// Ordered Lists
case BulletStyle.LowerAlpha:
case BulletStyle.UpperAlpha:
case BulletStyle.LowerRoman:
case BulletStyle.UpperRoman:
case BulletStyle.Numbered:
return HtmlTextWriterTag.Ol;
// Unordered Lists
case BulletStyle.Square:
case BulletStyle.Circle:
case BulletStyle.Disc:
return HtmlTextWriterTag.Ul;
// Image Lists
case BulletStyle.CustomImage:
return HtmlTextWriterTag.Ul;
// Not Set
case BulletStyle.NotSet:
// NotSet is specified as an unordered list.
return HtmlTextWriterTag.Ul;
default:
Debug.Assert(false, "Invalid BulletStyle");
return HtmlTextWriterTag.Ol;
}
}
}
///
/// Gets or sets the Target window when the
/// list is displayed as Hyperlinks.
///
[
WebCategory("Behavior"),
DefaultValue(""),
WebSysDescription(SR.BulletedList_Target),
TypeConverter(typeof(TargetConverter))
]
public virtual string Target {
get {
object o = ViewState["Target"];
return ((o == null) ? string.Empty : (string)o);
}
set {
ViewState["Target"] = value;
}
}
[
EditorBrowsable(EditorBrowsableState.Never)
]
public override string Text {
get {
return base.Text;
}
set {
throw new NotSupportedException(SR.GetString(SR.BulletedList_TextNotSupported));
}
}
///
/// Occurs when the a link button is clicked.
///
[
WebCategory("Action"),
WebSysDescription(SR.BulletedList_OnClick)
]
public event BulletedListEventHandler Click {
add {
Events.AddHandler(EventClick, value);
}
remove {
Events.RemoveHandler(EventClick, value);
}
}
///
/// Adds HTML attributes that need to be rendered.
///
protected override void AddAttributesToRender(HtmlTextWriter writer) {
bool addBulletNumber = false;
switch (BulletStyle) {
case BulletStyle.NotSet:
break;
case BulletStyle.Numbered:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "decimal");
addBulletNumber = true;
break;
case BulletStyle.LowerAlpha:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "lower-alpha");
addBulletNumber = true;
break;
case BulletStyle.UpperAlpha:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "upper-alpha");
addBulletNumber = true;
break;
case BulletStyle.LowerRoman:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "lower-roman");
addBulletNumber = true;
break;
case BulletStyle.UpperRoman:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "upper-roman");
addBulletNumber = true;
break;
case BulletStyle.Disc:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "disc");
break;
case BulletStyle.Circle:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "circle");
break;
case BulletStyle.Square:
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleType, "square");
break;
case BulletStyle.CustomImage:
String url = ResolveClientUrl(BulletImageUrl);
writer.AddStyleAttribute(HtmlTextWriterStyle.ListStyleImage, "url(" + HttpUtility.UrlPathEncode(url) + ")");
break;
default:
Debug.Assert(false, "Invalid BulletStyle");
break;
}
int firstBulletNumber = FirstBulletNumber;
if ((addBulletNumber == true) && (firstBulletNumber != 1)) {
writer.AddAttribute("start", firstBulletNumber.ToString(CultureInfo.InvariantCulture));
}
base.AddAttributesToRender(writer);
}
private string GetPostBackEventReference(string eventArgument) {
if (CausesValidation && Page.GetValidators(ValidationGroup).Count > 0) {
return ClientScriptManager.JscriptPrefix + Util.GetClientValidatedPostback(this, ValidationGroup, eventArgument);
} else {
return Page.ClientScript.GetPostBackClientHyperlink(this, eventArgument, true);
}
}
///
/// Raises the Click event.
///
protected virtual void OnClick(BulletedListEventArgs e) {
BulletedListEventHandler onClickHandler = (BulletedListEventHandler)Events[EventClick];
if (onClickHandler != null)
onClickHandler(this, e);
}
///
/// Writes the text of each bullet according to the list's display mode.
///
protected virtual void RenderBulletText(ListItem item, int index, HtmlTextWriter writer) {
switch (DisplayMode) {
case BulletedListDisplayMode.Text:
if (!item.Enabled) {
RenderDisabledAttributeHelper(writer, false);
writer.RenderBeginTag(HtmlTextWriterTag.Span);
}
HttpUtility.HtmlEncode(item.Text, writer);
if (!item.Enabled) {
writer.RenderEndTag();
}
break;
case BulletedListDisplayMode.HyperLink:
if (_cachedIsEnabled && item.Enabled) {
writer.AddAttribute(HtmlTextWriterAttribute.Href, ResolveClientUrl(item.Value));
string target = Target;
if (!String.IsNullOrEmpty(target)) {
writer.AddAttribute(HtmlTextWriterAttribute.Target, Target);
}
}
else {
RenderDisabledAttributeHelper(writer, item.Enabled);
}
RenderAccessKey(writer, AccessKey);
writer.RenderBeginTag(HtmlTextWriterTag.A);
HttpUtility.HtmlEncode(item.Text, writer);
writer.RenderEndTag();
break;
case BulletedListDisplayMode.LinkButton:
if (_cachedIsEnabled && item.Enabled) {
writer.AddAttribute(HtmlTextWriterAttribute.Href, GetPostBackEventReference(index.ToString(CultureInfo.InvariantCulture)));
}
else {
RenderDisabledAttributeHelper(writer, item.Enabled);
}
RenderAccessKey(writer, AccessKey);
writer.RenderBeginTag(HtmlTextWriterTag.A);
HttpUtility.HtmlEncode(item.Text, writer);
writer.RenderEndTag();
break;
default:
Debug.Assert(false, "Invalid BulletedListDisplayMode");
break;
}
}
private void RenderDisabledAttributeHelper(HtmlTextWriter writer, bool isItemEnabled) {
if (SupportsDisabledAttribute) {
writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled");
}
else if (!isItemEnabled && !String.IsNullOrEmpty(DisabledCssClass)) {
writer.AddAttribute(HtmlTextWriterAttribute.Class, DisabledCssClass);
}
}
internal void RenderAccessKey(HtmlTextWriter writer, string AccessKey) {
string s = AccessKey;
if (s.Length > 0) {
writer.AddAttribute(HtmlTextWriterAttribute.Accesskey, s);
}
}
protected internal override void Render(HtmlTextWriter writer) {
// Don't render anything if the control is empty
if (Items.Count == 0) {
return;
}
base.Render(writer);
}
///
/// Renders the ListItems as bullets in the bulleted list.
///
protected internal override void RenderContents(HtmlTextWriter writer) {
_cachedIsEnabled = IsEnabled;
if (_itemCount == -1) {
for (int i = 0; i < Items.Count; i++) {
Items[i].RenderAttributes(writer);
writer.RenderBeginTag(HtmlTextWriterTag.Li);
RenderBulletText(Items[i], i, writer);
writer.RenderEndTag();
}
}
else {
for (int i = _firstItem; i < _firstItem + _itemCount; i++) {
Items[i].RenderAttributes(writer);
writer.RenderBeginTag(HtmlTextWriterTag.Li);
RenderBulletText(Items[i], i, writer);
writer.RenderEndTag();
}
}
}
protected virtual void RaisePostBackEvent(string eventArgument) {
ValidateEvent(this.UniqueID, eventArgument);
if (CausesValidation) {
Page.Validate(ValidationGroup);
}
OnClick(new BulletedListEventArgs(Int32.Parse(eventArgument, CultureInfo.InvariantCulture)));
}
void IPostBackEventHandler.RaisePostBackEvent(string eventArgument) {
RaisePostBackEvent(eventArgument);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FilteredDataSetHelper.cs
- FlowchartDesigner.Helpers.cs
- WaitForChangedResult.cs
- FaultCallbackWrapper.cs
- HttpCookie.cs
- PropertyEntry.cs
- EntryIndex.cs
- AppSettings.cs
- TypeBuilder.cs
- DataGridViewSelectedRowCollection.cs
- XmlSortKey.cs
- ObjectDataSource.cs
- PageHandlerFactory.cs
- RegexReplacement.cs
- DesignerCommandAdapter.cs
- RectangleGeometry.cs
- RichTextBoxAutomationPeer.cs
- SafeRegistryHandle.cs
- FixedSOMSemanticBox.cs
- MaterializeFromAtom.cs
- BindingEditor.xaml.cs
- SoapMessage.cs
- ImageBrush.cs
- AdRotatorDesigner.cs
- AutomationProperties.cs
- XmlSecureResolver.cs
- InternalBufferManager.cs
- UserControl.cs
- Tablet.cs
- BinaryMessageEncodingBindingElement.cs
- GreaterThanOrEqual.cs
- SQLBoolean.cs
- XmlNodeList.cs
- StreamUpdate.cs
- UriPrefixTable.cs
- Avt.cs
- X509SecurityTokenAuthenticator.cs
- Composition.cs
- exports.cs
- XmlNamedNodeMap.cs
- PartitionerQueryOperator.cs
- FileSystemWatcher.cs
- ExtendedPropertyCollection.cs
- DragEvent.cs
- HtmlInputControl.cs
- DateTimeConverter2.cs
- SourceElementsCollection.cs
- XmlSerializerNamespaces.cs
- HwndAppCommandInputProvider.cs
- IntranetCredentialPolicy.cs
- XmlSerializationWriter.cs
- CompilationRelaxations.cs
- SimpleType.cs
- XmlDownloadManager.cs
- ByteStack.cs
- WebReferencesBuildProvider.cs
- BooleanExpr.cs
- CopyCodeAction.cs
- NonBatchDirectoryCompiler.cs
- WriteTimeStream.cs
- AppDomainAttributes.cs
- ProfileSettings.cs
- WebEvents.cs
- InvokeWebServiceDesigner.cs
- JsonWriterDelegator.cs
- XmlNamespaceManager.cs
- ToolStripPanelRow.cs
- HijriCalendar.cs
- SQLBinary.cs
- DataGridViewIntLinkedList.cs
- ChooseAction.cs
- ReachFixedPageSerializer.cs
- XpsSerializerWriter.cs
- ListViewInsertEventArgs.cs
- WinEventWrap.cs
- ColorTypeConverter.cs
- CompiledRegexRunner.cs
- AutomationEvent.cs
- Color.cs
- hresults.cs
- ErrorView.xaml.cs
- ListBoxItem.cs
- XmlIterators.cs
- DbConnectionStringBuilder.cs
- AutoResetEvent.cs
- TdsEnums.cs
- WeakReferenceEnumerator.cs
- COM2ComponentEditor.cs
- Solver.cs
- EventLogger.cs
- LayoutSettings.cs
- BindingSource.cs
- XmlSchemaObjectCollection.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- XhtmlTextWriter.cs
- CodeNamespaceImportCollection.cs
- XmlDocumentFragment.cs
- DesignerToolStripControlHost.cs
- HybridDictionary.cs
- _AutoWebProxyScriptHelper.cs