自定义用户控件中的控件触发主页面中的代码段,使用委托
2008-08-22 21:27
525 查看
1.在我们写一个用户控件时需要考虑到重用得问题,如果控件中包含按钮事件,
我们不可能将点击事件写到控件里,而是我们想吧事件处理得过程写在
调用控件的页面中,这是该怎么处理呢?
我的做法时使用delegate来实现这个功能!
具体做法如下:
下面是控件的html部分
1<table>
3 <tr>
4 <td style="width: 100px">
5 name</td>
6 <td style="width: 100px">
7 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>
8 </tr>
9 <tr>
10 <td style="width: 100px">
11 sex</td>
12 <td style="width: 100px">
13 <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></td>
14 </tr>
15 <tr>
16 <td style="width: 100px">
17 </td>
18 <td style="width: 100px">
19 <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="测试" /></td>
20 </tr>
21</table>
22
控件的cs部分
1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11
12public partial class ctlForm : System.Web.UI.UserControl
13
我们调用这个控件的页面写法如下:
1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="testForm.aspx.cs" Inherits="testForm" %>
2
3<%@ Register Src="ctlForm.ascx" TagName="ctlForm" TagPrefix="uc1" %>
4
5<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
7<html xmlns="http://www.w3.org/1999/xhtml" >
8<head runat="server">
9 <title>无标题页</title>
10</head>
11<body>
12 <form id="form1" runat="server">
13 <div>
14 <uc1:ctlForm ID="CtlForm1" runat="server" />
15
16 </div>
17 </form>
18</body>
19</html>
20
调用控件的cs代码如下
1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11
12public partial class testForm : System.Web.UI.Page
13
我们不可能将点击事件写到控件里,而是我们想吧事件处理得过程写在
调用控件的页面中,这是该怎么处理呢?
我的做法时使用delegate来实现这个功能!
具体做法如下:
下面是控件的html部分
1<table>
3 <tr>
4 <td style="width: 100px">
5 name</td>
6 <td style="width: 100px">
7 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>
8 </tr>
9 <tr>
10 <td style="width: 100px">
11 sex</td>
12 <td style="width: 100px">
13 <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></td>
14 </tr>
15 <tr>
16 <td style="width: 100px">
17 </td>
18 <td style="width: 100px">
19 <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="测试" /></td>
20 </tr>
21</table>
22
控件的cs部分
1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11
12public partial class ctlForm : System.Web.UI.UserControl
13
我们调用这个控件的页面写法如下:
1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="testForm.aspx.cs" Inherits="testForm" %>
2
3<%@ Register Src="ctlForm.ascx" TagName="ctlForm" TagPrefix="uc1" %>
4
5<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
7<html xmlns="http://www.w3.org/1999/xhtml" >
8<head runat="server">
9 <title>无标题页</title>
10</head>
11<body>
12 <form id="form1" runat="server">
13 <div>
14 <uc1:ctlForm ID="CtlForm1" runat="server" />
15
16 </div>
17 </form>
18</body>
19</html>
20
调用控件的cs代码如下
1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11
12public partial class testForm : System.Web.UI.Page
13
相关文章推荐
- Asp.net开发心得点滴[动态加载的用户控件使用事件委托,交给页面处理的事件无效问题]
- 使用委托在用户自定义控件中实现事件响应
- 使用委托在用户自定义控件中实现事件响应
- 利用事件委托实现用户控件中的行为触发所在页面的处理函数
- 使用委托在用户自定义控件中实现事件响应
- 如何在aspx页面中使用ascx控件(用户自定义的一个控件)?
- 用户控件使用委托把事件交给页面处理
- 如何在ASP.NET中制作Web用户自定义控件,并在aspx页面中使用它的方法和属性?
- 使用委托实现用户控件与父页面的交互
- 如何在aspx页面中使用ascx控件(用户自定义的一个控件)?
- 使用委托实现用户控件与父页面的交互
- 使用委托在用户自定义控件中实现事件响应
- 使用委托实现用户控件与父页面的交互
- 使用委托在用户自定义控件中实现事件响应
- 使用C#反射实现用户控件调用父页面方法
- 页面(Page)加载用户控件(UserControl)的事件触发顺序
- android 开发零起步学习笔记(十七):自定义android用户控件,使用回调函数实现自定义事件
- 使用InterDev调试ASP页面及用户自定义DLL
- 自定义android用户控件,使用回调函数实现自定义事件
- 页面(Page)加载用户控件(UserControl)的事件触发顺序