在服务器端控件中添加客户端属性
我们有时会向服务器端控件中添加一些特殊的属性,这类属性不需要服务器端的处理,只需简单的发送至客户端即可,我们不妨称其为客户端属性,例如HTML属性或自定义属性(可能用于实现某种特定的JavaScript功能)。可以通过以下几种方法达到这个目的:
a.直接向控件添加客户端属性
<asp:Button ID="MyButton" Text="ClickMe" onmouseover="this.style.cursor='pointer'" runat="server" />
MyButton.Attributes.Add("onmouseover", "this.style.cursor='pointer'");
MyButton.OnClientClick = "alert('Hello!')";
a.直接向控件添加客户端属性
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
其中的onmouseover是客户端属性,注意,编译器是允许这种写法的,但会显示警告。
b.调用内置方法
可以通过调用WebControl.Attributes.Add()方法为控件添加客户端属性,如下所示:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
这也是最常用的方法。
c.创建自定义控件
如果某个类型的服务器端控件中经常需要添加客户端属性,则可以考虑创建一个继承自该服务器端控件的自定义控件,其中包含特定的客户端属性。
正是考虑到这一点,ASP.NET 2.0中为按钮控件(包括Button、LinkButton、ImageButton控件)提供了OnClientClick属性,可以这样写:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
真是贴心的功能!