using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI.WebControls;
using System.Web.UI;
using System.ComponentModel;
using System.Web.UI.Design;
using System.Web.UI.Design.WebControls;
using System.Web.UI.HtmlControls;
namespace KingControls
{
/// <summary>
/// Author: 【夜战鹰】【专注于DotNet技术】【ChengKing(ZhengJian)】
/// 获得本书的更多章节:【http://blog.youkuaiyun.com/ChengKing/archive/2008/08/18/2792440.aspx】
/// 声明: 【本链接为进阶Asp.net技术的一些文章】【转载时请保留本链接源】 创建这个中间控件,实际上就是对应的是每个模板
/// </summary>
[ToolboxItem(false)]
public class RepeateItem : Control, INamingContainer
{
// Fields
private object dataItem;
private int itemIndex;
private int rowIndex;
private ItemType itemType;
// Methods
public RepeateItem(int itemIndex, ItemType itemType,int rowIndex)
{
this.itemIndex = itemIndex;
this.itemType = itemType;
this.rowIndex = rowIndex;
}
// Properties
public virtual object DataItem
{
get
{
return this.dataItem;
}
set
{
this.dataItem = value;
}
}
public virtual int ItemIndex
{
get
{
return this.itemIndex;
}
}
public virtual int RowIndex
{
get { return this.rowIndex; }
}
public virtual ItemType ItemType
{
get
{
return this.itemType;
}
}
protected override bool OnBubbleEvent(object source, EventArgs e)
{//最重要是这个方法,冒泡事件,由这个方法,在执行编辑事件时,讲本中间控件传递给主控件,然后再交给页面的编辑事件(原来一直以为没什么用的,终于知道要用在子控件引发事件上,参考clingboy博客)
if (e is CommandEventArgs)
{
ItemCommandEventArgs args =
new ItemCommandEventArgs(this, source, (CommandEventArgs)e, this.ItemIndex);
RaiseBubbleEvent(this, args);
return true;
}
return false;
}
}
}
datalist控件开发2(RepeatItem中间控件)

最新推荐文章于 2018-04-25 14:35:00 发布
