会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
rosanshao
博客园
首页
新随笔
联系
订阅
管理
asp.net控件开发系列学习----Button
仅仅是ASP.NET控件开发学习,仅仅是学习,不是重复造轮子。
ASP.NET服务器控件已经有Button,而我写的这个控件仅仅实现提交功能
Code
[DefaultEvent(
"
Click
"
)]
public
class
RosanshaoButton:WebControl,IPostBackEventHandler
{
private
static
readonly
object
ClickKey
=
new
object
();
public
RosanshaoButton()
:
base
(HtmlTextWriterTag.Input)
{ }
public
event
EventHandler Click
{
add
{
Events.AddHandler(ClickKey, value);
}
remove
{
Events.RemoveHandler(ClickKey, value);
}
}
protected
override
void
Render(HtmlTextWriter writer)
{
if
(Page
!=
null
)
{
Page.VerifyRenderingInServerForm(
this
);
//
确保此控件在form表单内
}
writer.AddAttribute(HtmlTextWriterAttribute.Type,
"
submit
"
);
writer.AddAttribute(
"
Name
"
,
this
.UniqueID);
base
.Render(writer);
}
IPostBackEventHandler 成员
#region
IPostBackEventHandler 成员
protected
virtual
void
OnClick(EventArgs e)
{
EventHandler clickEventDel
=
Events[ClickKey]
as
EventHandler;
if
(clickEventDel
!=
null
)
{
clickEventDel(
this
, e);
}
}
public
void
RaisePostBackEvent(
string
eventArgument)
{
OnClick(EventArgs.Empty);
}
#endregion
}
通过此控件的开发,明白了
IPostBackEventHandler接口.IPostBackEventHandler定义了ASP.NET 服务器控件为处理回发事件而必须实现的方法。
若要创建从浏览器捕获窗体提交信息的服务器控件,必须实现此接口。IPostBackEventHanlder是针对事件处理,如button。它就是实现此接口。
posted on
2008-08-16 14:22
rosanshao
阅读(
487
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部