电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

“事件存取器”使用示例


发布日期:2020/6/24
 

本文的示例是一个登陆窗口

主要组成

一个用户控件(存放登陆所用的控件)

一个登陆页面(放置上面的用户控件)

用户控件的HTML代码为

<%@ Control Language=C# AutoEventWireup=true CodeBehind=LoginCtrlascxcs

Inherits=CNLanPeiESPlusPAMSWebAppHomeUserCtrlsLoginCtrl %>

<table border= cellpadding= cellspacing=>

<tr>

<td align=right valign=middle >用户名&nbsp;</td>

<td align=left valign=bottom>

<asp:TextBox ID=txtUserName runat=server Width=px></asp:TextBox>

</td>

<td rowspan= align=right valign=middle>

<asp:ImageButton SkinID=LoginImageBtn ID=ImageBtnLogin runat=server/>

</td>

</tr>

<tr >

<td colspan=></td>

</tr>

<tr>

<td align=right valign=middle >密码&nbsp;</td>

<td align=left valign=top >

<asp:TextBox ID=txtUserPwd runat=server Width=px TextMode=Password></asp:TextBox>

</td>

</tr>

</table>

下面就是用户控件的CS代码里面就是事件存取器的使用

using System;

using SystemWebUI;

namespace CNLanPeiESPlusPAMSWebAppHomeUserCtrls

{

/// <summary>

/// 登录控件

/// </summary>

public partial class LoginCtrl : SystemWebUIUserControl

{

/// <summary>

/// 获取用户名

/// </summary>

public string UserName

{

get

{

return thistxtUserNameTextTrim();

}

}

/// <summary>

/// 获取用户密码

/// </summary>

public string UserPwd

{

get

{

return thistxtUserPwdTextTrim();

}

}

// 登录事件关键字

private static readonly string loginEvent = _LoginEvent;

/// <summary>

/// 添加或移除登录事件

/// </summary>

public event EventHandler LoginEvent

{

add

{

thisEventsAddHandler(loginEvent value);

}

remove

{

thisEventsRemoveHandler(loginEvent value);

}

}

/// <summary>

/// 控件初始化函数

/// </summary>

/// <param name=e></param>

protected override void OnInit(EventArgs e)

{

baseOnInit(e);

thisImageBtnLoginClick += new ImageClickEventHandler(ImageBtnLogin_Click);

}

/// <summary>

/// 登录按钮点击事件

/// </summary>

/// <param name=sender></param>

/// <param name=e></param>

private void ImageBtnLogin_Click(object sender ImageClickEventArgs e)

{

EventHandler handler = thisEvents[loginEvent] as EventHandler;

if (handler != null)

{

handler(this e);

}

}

}

}

然后把这个用户控件拖到页面中相应的位置上页面的HTML代码就不贴了让我们看看我们应该如何使用添加进来的事件

using System;

using CNLanPeiESPlusPAMSServiceFacadeInternalService;

namespace CNLanPeiESPlusPAMSWebAppHome

{

/// <summary>

/// 用户登录页面

/// </summary>

public partial class Login : SystemWebUIPage

{

/// <summary>

/// 页面初始化函数

/// </summary>

/// <param name=e></param>

protected override void OnInit(EventArgs e)

{

baseOnInit(e);

thisLoginCtrlLoginEvent +=new EventHandler(LoginCtrl_LoginEvent);

}

/// <summary>

/// 登录控件的登录事件

/// </summary>

/// <param name=sender></param>

/// <param name=e></param>

private void LoginCtrl_LoginEvent(object sender EventArgs e)

{

string userName = thisLoginCtrlUserName;

string userPwd = thisLoginCtrlUserPwd;

// 用户登录

if((new Visitor())Login(userNameuserPwd))

{

ResponseRedirect(Main/SuperAdmin/Defaultaspxtrue);

}

}

}

}

好了这就是它的使用方法

上一篇:VB中文本框处理技巧集萃

下一篇:Windows群集开发:2)介绍