asp.net服务器组件开发给System.Web.UI.WebControls.Label增加单击事件

本文介绍如何通过扩展ASP.NET中的Label和TextBox控件来添加单击和失焦事件,实现自定义控件的交互功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权声明

请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。

asp.net服务器组件开发给System.Web.UI.WebControls.Label增加单击事件

还有一个类是给Edit增加服务端可以相应的OnBlur事件

public class ClickableLabel : Label, IPostBackEventHandler
{
public event EventHandler Click;

protected void onClick(EventArgs e)
{
if (Click != null)
{
Click(this, e);
}
}

//When postback is caused by this control, raise the event
void IPostBackEventHandler.RaisePostBackEvent(string eventArgument)
{
onClick(new EventArgs());
}

//Add onclick attribute to cause a postback when Label is clicked
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
base.AddAttributesToRender(writer);
writer.AddAttribute(HtmlTextWriterAttribute.Onclick, Page.GetPostBackEventReference(this, "onClick"));
}
}
public class MyTextBox : TextBox, IPostBackEventHandler
{
public event EventHandler Blur;
protected void OnBlur(EventArgs e)
{
if (Blur != null)
{
Blur(this, e);
}
}

void IPostBackEventHandler.RaisePostBackEvent(string eventArgument)
{
postBackEvent(eventArgument);
}

private void postBackEvent(string argument)
{
switch (argument)
{
case "onblur":
OnBlur(new EventArgs());
break;
}
}

protected override void AddAttributesToRender(System.Web.UI.HtmlTextWriter writer)
{
base.AddAttributesToRender(writer);
writer.AddAttribute("onblur", Page.ClientScript.GetPostBackEventReference(this, "onblur"));
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值