-
+//
+// System.Web.UI.WebControls.RepeaterItem
+//
+// Authors:
+// Ben Maurer (bmaurer@novell.com)
+//
+// (C) 2005 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-/**\r
-* Namespace: System.Web.UI.WebControls\r
-* Class: RepeaterItem\r
-*\r
-* Author: Gaurav Vaish\r
-* Maintainer: gvaish@iitk.ac.in\r
-* Implementation: yes\r
-* Status: 100%\r
-*\r
-* (C) Gaurav Vaish (2001)\r
-*/\r
-\r
-using System;\r
-using System.Web;\r
-using System.Web.UI;\r
-using System.ComponentModel;\r
-\r
-namespace System.Web.UI.WebControls\r
-{\r
- [ToolboxItem(false)]\r
- public class RepeaterItem: Control, INamingContainer\r
-#if NET_2_0\r
- , IDataItemContainer\r
-#endif\r
- {\r
- private int itemIndex;\r
- private ListItemType itemType;\r
- private object dataItem;\r
-\r
- public RepeaterItem(int itemIndex, ListItemType itemType)\r
- {\r
- this.itemIndex = itemIndex;\r
- this.itemType = itemType;\r
- }\r
-\r
- public virtual object DataItem\r
- {\r
- get\r
- {\r
- return dataItem;\r
- }\r
- set\r
- {\r
- dataItem = value;\r
- }\r
- }\r
-\r
- public virtual int ItemIndex\r
- {\r
- get\r
- {\r
- return itemIndex;\r
- }\r
- }\r
-\r
-#if NET_2_0\r
- int IDataItemContainer.DataItemIndex {
- get { return itemIndex; }
+
+using System.ComponentModel;
+
+namespace System.Web.UI.WebControls {
+ [ToolboxItem ("")]
+ public class RepeaterItem : Control, INamingContainer {
+
+ public RepeaterItem (int itemIndex, ListItemType itemType)
+ {
+ idx = itemIndex;
+ type = itemType;
+ }
+
+ // see ... "Building DataBound Templated Custom ASP.NET " on msdn
+ //
+ // This technique is used in the DataGrid, DataList, and Repeater to handle the
+ // Command event of Buttons, LinkButtons, and ImageButtons within the
+ // controls. Since the button's Command event calls RaiseBubbleEvent(), this
+ // percolates the event up to the button's parent.
+ protected override bool OnBubbleEvent (object source, EventArgs e)
+ {
+ CommandEventArgs ce = e as CommandEventArgs;
+ if (ce != null) {
+ base.RaiseBubbleEvent (this, new RepeaterCommandEventArgs (this, source, ce));
+ return true;
+ }
+
+ return false;
+ }
+
+ public virtual object DataItem {
+ get {
+ return data_item;
+ }
+ set {
+ data_item = value;
+ }
+ }
+
+ public virtual int ItemIndex {
+ get {
+ return idx;
+ }
}
-
- int IDataItemContainer.DisplayIndex {
- get { return itemIndex; }
+
+ public virtual ListItemType ItemType {
+ get {
+ return type;
+ }
}
-#endif
- public virtual ListItemType ItemType\r
- {\r
- get\r
- {\r
- return itemType;\r
- }\r
- }\r
-\r
- protected override bool OnBubbleEvent(object source, EventArgs e)\r
- {\r
- if(e is CommandEventArgs)\r
- {\r
- RepeaterCommandEventArgs rcea = new RepeaterCommandEventArgs(this, source, (CommandEventArgs)e);\r
- RaiseBubbleEvent(source, rcea);\r
- return true;\r
- }\r
- return false;\r
- }\r
- }\r
+ object data_item;
+ int idx;
+ ListItemType type;
+ }
}