[ASP.NET开发系列]在用户控件中添加事件

[ASP.NET 开发系列 ] 在用户控件中添加事件

作者:tigerwen01

在《在用户控件中添加属性》这一篇文章中我们演示了如何在用户控件中添加属性,接下来我们演示如何在用户控件中添加事件。

在《在用户控件中添加属性》这一篇文章中我们定义了一个用户登录的用户控件 UserLogin.ascx 文件,里面包含了一个 LinkButton 服务器按钮控件,当用户单击该按钮时服务器端会自动生成一个回发来激发 Page.Load 事件。除了服务器自动产生回发来激发 Page.Load 事件外,我们可以给 LinkButton 添加一个它自己的事件,添加事件其实也很简单,通过在

1<script></script>

块中声明事件,然后把该事件添加到用户控件中。

我们现在通过以下的例子来说明如何在 UserLogin.ascx 用户控件中添加事件。

UserLogin.ascx

 1<html>
 2<title> 用户登录  </title>
 3<body>
 4<table>
 5<tr>
 6<td> 用户名:  </td>
 7<td><asp:textbox id="”txt1”" runat="”server”"></asp:textbox></td>
 8</tr>
 9<tr>
10<td> 密  码:  </td>
11<td><asp:textbox id="”txt2”" runat="”server”" textmode="”password”"></asp:textbox></td>
12</tr>
13<hr/>
14<tr>
15<td></td>
16<td><asp:linkbutton onclick="”MyOnClick”" runat="”server”" text="”" ”="" 登陆=""></asp:linkbutton></td>
17</tr>
18</table>
19</body>
20</html>
 1<script language="”C#”" runat="”server”">
 2
 3public string UserName{ 
 4
 5get{return txt1.Text;} 
 6
 7set{txt1.Text=value;} 
 8
 9} 
10
11public string PassWord{ 
12
13get{return txt2.Text;} 
14
15set{txt2.Text=value;} 
16
17} 
18
19public event Eventhandler Login;  //  添加事件句柄 
20
21void MyOnClick(Object Sender,EventArgs e){ 
22
23if(Login != null) 
24
25Login(this,new EventArgs());  //  激活  Login  事件 
26
27} 
28
29</script>

在 ASPX 页面中使用自定义事件:

1@Register TagPrefix=”wen” TagName=”UserEvent” src=” UserLogin.ascx”
1<html>
2<body>
3<form runat="server">
4<wen:userevent id="”MyLogin”" onlogin="”OnLoginPress”" runat="”server”">
5</wen:userevent></form>
6<asp:label id="”Lab1”" runat="”server”/"><br/>
7<asp:label id="”Lab2”" runat="”server”/"><br/>
8</asp:label></asp:label></body>
9</html>
 1<script language="”C#”" runat="”server”">
 2
 3void OnLoginPress(Object Render, EventArgs e){ 
 4
 5Lab1.Text=MyLogin.UserName; 
 6
 7Lab2.Text=MyLogin.PassWord; 
 8
 9} 
10
11</script>

说明:这里的 OnLogin 事件是我们给用户控件 UserLogin.ascx 文件添加的事件。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus