login.aspx

来自「asp.net技术内幕的书配源码」· ASPX 代码 · 共 99 行

ASPX
99
字号
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>

<script language="C#" runat=server>

void Page_Load(Object sender , EventArgs e) 
{
	string  strLinkPath;

	if (! IsPostBack ) {
		strLinkPath = string .Format( "Register/Register.aspx?ReturnUrl={0}", Request.Params[ "ReturnUrl" ] );
		lnkRegister.NavigateUrl = string .Format( strLinkPath );
	}
}

void Button_Click( object s, EventArgs e ) {
	if ( IsValid ) {
		if ( XmlAuthenticate( txtUsername.Text, txtPassword.Text ) ) {
		FormsAuthentication.RedirectFromLoginPage( txtUsername.Text, false );
		}
	}
}

bool XmlAuthenticate( string  strUsername, string  strPassword ) {
	DataSet dstPasswords;
	DataTable dtblPasswords;
	DataRow[] arrUsers;
	   
	dstPasswords = new DataSet();
	dstPasswords.ReadXml( MapPath( "Passwords.xml" ) );
	dtblPasswords = dstPasswords.Tables[0];
	arrUsers = dtblPasswords.Select( "name='" + strUsername + "'" );
	if ( arrUsers.Length > 0 )
	{
		if ( arrUsers[ 0 ] ["password" ] == strPassword )
		{
		return true;
		} 
		else
		{
		lblMessage.Text = "Incorrect Password!";
		}
	} 
	else
	{
		lblMessage.Text = "Username Not Found!";
	}
	return false;
}

</Script>

<html>
<head><title>Login.aspx</title></head>
<body>
<form Runat="Server">

<h2>Please Login:</h2>

<asp:Label
  ID="lblMessage"
  ForeColor="Red"
  Font-Bold="True"
  Runat="Server" />
<p>
<b>Username:</b>
<br>
<asp:TextBox
  ID="txtUsername"
  Runat="Server" />
<asp:RequiredFieldValidator
  ControlToValidate="txtUsername"
  Text="Required!"
  Runat="Server" />
<p>
<b>Password:</b>
<br>
<asp:TextBox
  ID="txtPassword"
  Runat="Server" />
<asp:RequiredFieldValidator
  ControlToValidate="txtPassword"
  Text="Required!"
  Runat="Server" />
<p>
<asp:Button
  Text="Login!"
  OnClick="Button_Click"
  Runat="Server" />
<hr>
<asp:HyperLink
  ID="lnkRegister"
  Text="Click Here To Register!"
  Runat="Server" />

</form>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?