用戶控件使用一例
發(fā)表時(shí)間:2023-08-05 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]用戶控件的簡(jiǎn)單使用例子,做一個(gè)用戶登陸的用戶控件。用戶登陸某個(gè)系統(tǒng)是個(gè)非常常見的問(wèn)題,這里筆者想把這樣的問(wèn)題作為一個(gè)用戶控件來(lái)使用,方便各個(gè)用戶。1、在工程中新建立一個(gè)Web用戶控件,此時(shí)加入的名稱...
用戶控件的簡(jiǎn)單使用例子,做一個(gè)用戶登陸的用戶控件。
用戶登陸某個(gè)系統(tǒng)是個(gè)非常常見的問(wèn)題,這里筆者想把這樣的問(wèn)題作為一個(gè)用戶控件來(lái)使用,方便各個(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頁(yè)面中時(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)定已完成。很簡(jiǎn)單是嗎?因?yàn)?net環(huán)境已經(jīng)幫助你完成了很多的后臺(tái)操作。
6、把FrLogin.ascs拖放到你需要引用的頁(yè)面中,.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)的。這里的缺陷是它并沒(méi)有幫你在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)完成了,試試看。