用戶控件使用一例
2024-07-21 02:24:26
供稿:網(wǎng)友
用戶控件的簡單使用例子,做一個(gè)用戶登陸的用戶控件。
用戶登陸某個(gè)系統(tǒng)是個(gè)非常常見的問題,這里筆者想把這樣的問題作為一個(gè)用戶控件來使用,方便各個(gè)用戶。
1、在工程中新建立一個(gè)web用戶控件,此時(shí)加入的名稱為frlogin.ascs。
2、把需要的控件拖放到該web中,比如兩個(gè)label,兩個(gè)textbox,一個(gè)button分別命名為lblusername,lblpassword,txtusername,txtpassword,btnlogin
3、增加兩個(gè)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;}
}
這樣就可以在你的用戶控件拖放到另一個(gè)web頁面中時(shí)獲取或設(shè)置他們的值了。
4、添加button事件的代理
先雙擊你的btnlogin產(chǎn)生相應(yīng)事件處理函數(shù)
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函數(shù)
增加如下代碼,即執(zhí)行代理
if(onregisterclicked!=null)
onregisterclicked(sender,e);
到這里你的用戶控件已經(jīng)定已完成。很簡單是嗎?因?yàn)?net環(huán)境已經(jīng)幫助你完成了很多的后臺(tái)操作。
6、把frlogin.ascs拖放到你需要引用的頁面中,.net已經(jīng)為你產(chǎn)生了<%@ register tagprefix="uc1" tagname="frlogin" src="frlogin.ascx" %>
<uc1:frlogin id="frlogin1" backcolor="black" runat="server"></uc1:frlogin>,這些都是自動(dòng)的。這里的缺陷是它并沒有幫你在testpage.aspx.cs生成protected frlogin frlogin1;代碼,你需要手工添加。注意控件的名稱要與html定義中的一致。
7、在initializecomponent()增加事件代理的真正處理函數(shù)
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);
}
注意此處的簽名.
好了,已經(jīng)完成了,試試看。