用户控件使用一例

王朝other·作者佚名  2006-01-08
宽屏版  字体: |||超大  

用户控件的简单使用例子,做一个用户登陆的用户控件。

用户登陆某个系统是个非常常见的问题,这里笔者想把这样的问题作为一个用户控件来使用,方便各个用户。

1、在工程中新建立一个Web用户控件,此时加入的名称为FrLogin.ascs。

2、把需要的控件拖放到该web中,比如两个Label,两个TextBox,一个Button分别命名为lblUserName,lblPassword,txtUserName,txtPassword,btnLogin

3、增加两个TextBox的属性代码

public string UserName

{

get{return this.txtUserName.Text;}

set{this.txtUserName.Text=value;}

}

public string Password

{

get{return this.txtPassword.Text;}

set{this.txtPassword.Text=value;}

}

这样就可以在你的用户控件拖放到另一个Web页面中时获取或设置他们的值了。

4、添加Button事件的代理

先双击你的btnLogin产生相应事件处理函数

private void btnRegister_Click(object sender, System.EventArgs e)

{

}

然后声明事件的代理

public delegate void OnRegisterClickedHandler(object sender, System.EventArgs e);注意此处的签名要正确。

public event OnRegisterClickedHandler OnRegisterClicked;

5、修改btnRegister_Click函数

增加如下代码,即执行代理

if(OnRegisterClicked!=null)

OnRegisterClicked(sender,e);

到这里你的用户控件已经定已完成。很简单是吗?因为.net环境已经帮助你完成了很多的后台操作。

6、把FrLogin.ascs拖放到你需要引用的页面中,.net已经为你产生了<%@ Register TagPrefix="uc1" TagName="FrLogin" Src="FrLogin.ascx" %>

<uc1:FrLogin id="FrLogin1" backColor="Black" runat="server"></uc1:FrLogin>,这些都是自动的。这里的缺陷是它并没有帮你在TestPage.aspx.cs生成protected FrLogin FrLogin1;代码,你需要手工添加。注意控件的名称要与html定义中的一致。

7、在InitializeComponent()增加事件代理的真正处理函数

this.FrLogin1.OnRegisterClicked+=new Reques.FrLogin.OnRegisterClickedHandler(OnRegisterClicked);

8、处理你的事件

private void OnRegisterClicked(object sender, System.EventArgs e)

{

Response.Write("user Name:"+ this.FrLogin1.UserName+ "Password" + this.FrLogin1.Password);

}

注意此处的签名.

好了,已经完成了,试试看。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有