📄 defaultcs.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Telerik.QuickStart;
using Telerik.WebControls;
namespace Telerik.CallbackExamplesCSharp.Demos.Accounts
{
/// <summary>
/// Summary description for _Default.
/// </summary>
public class DefaultCS: XhtmlPage
{
protected System.Web.UI.WebControls.Label StatusLabel;
protected System.Web.UI.WebControls.TextBox txtBoxName;
protected System.Web.UI.WebControls.TextBox txtBoxPassword;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label3;
protected Telerik.WebControls.CallbackButton btnDelete;
protected Telerik.WebControls.CallbackButton btnRegister;
protected Telerik.WebControls.CallbackButton btnCheckAccount;
protected Telerik.WebControls.CallbackTextBox CallbackTextBox1;
protected System.Web.UI.WebControls.Label lblResult;
protected System.Web.UI.WebControls.Label Label4;
protected System.Web.UI.WebControls.Label label11;
protected System.Web.UI.WebControls.Label Label5;
protected Telerik.WebControls.LoadingPanel LoadingPanel1;
protected Telerik.WebControls.CallbackPanel CallbackPanel1;
protected System.Web.UI.HtmlControls.HtmlImage Img1;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
enum AccountStatus
{
AccountExists,
NameExists,
NotExist
}
private DateTime GetRandomDate(Random r)
{
DateTime dt = new DateTime(2005, r.Next(1, 5), r.Next(1, 28), r.Next(0, 23), r.Next(0, 59), r.Next(0, 59));
return dt;
}
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
dataTable = new DataTable();
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Password", typeof(string));
dataTable.Columns.Add("Date", typeof(DateTime));
Random r = new Random();
dataTable.Rows.Add(new object[] {"JamesS", "pass1", GetRandomDate(r) } );
dataTable.Rows.Add(new object[] {"JohnsonT", "pass2", GetRandomDate(r) } );
dataTable.Rows.Add(new object[] {"Robert", "pass3", GetRandomDate(r) } );
dataTable.Rows.Add(new object[] {"Michael78", "pass4", GetRandomDate(r) } );
dataTable.Rows.Add(new object[] {"Will123", "pass5", GetRandomDate(r) } );
dataTable.Rows.Add(new object[] {"Richard", "pass6", GetRandomDate(r) } );
DataGrid1.DataSource = dataTable;
DataGrid1.DataBind();
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btnRegister.Click += new System.EventHandler(this.btnRegister_Click);
this.btnCheckAccount.Click += new System.EventHandler(this.btnCheckAccount_Click);
this.btnDelete.Click += new System.EventHandler(this.CallbackButton4_Click);
this.CallbackTextBox1.TextChanged += new System.EventHandler(this.CallbackTextBox1_TextChanged);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnRegister_Click(object sender, System.EventArgs e)
{
if ((txtBoxName.Text == null) || (txtBoxName.Text.Length < 3))
{
StatusLabel.Text = "User name should be at least 3 characters.";
return;
}
else
if ((txtBoxPassword.Text == null) || (txtBoxPassword.Text.Length < 4))
{
StatusLabel.Text = "Password should be at least 4 characters.";
return;
}
else
{
AccountStatus status = CheckAccount(txtBoxName.Text, txtBoxPassword.Text);
if (AccountStatus.NotExist == status)
{
AddAcount(txtBoxName.Text, txtBoxPassword.Text);
BindGrid();
txtBoxName.Text = string.Empty;
txtBoxPassword.Text = string.Empty;
btnRegister.ResponseScript += string.Format("document.getElementById('{0}').value = '';", txtBoxPassword.ClientID);
btnRegister.ResponseScript += string.Format("document.getElementById('{0}').value = '';", txtBoxName.ClientID);
StatusLabel.Text = "Account successfully registered.";
}
else
{
StatusLabel.Text = "The name is already in use, please choose another username.";
}
}
}
private void btnCheckAccount_Click(object sender, System.EventArgs e)
{
AccountStatus status = CheckAccount(txtBoxName.Text, txtBoxPassword.Text);
if (AccountStatus.AccountExists == status)
{
StatusLabel.Text = "You have successfully logged in.";
txtBoxName.Text = string.Empty;
txtBoxPassword.Text = string.Empty;
btnCheckAccount.ResponseScript += string.Format("document.getElementById('{0}').value = '';", txtBoxPassword.ClientID);
btnCheckAccount.ResponseScript += string.Format("document.getElementById('{0}').value = '';", txtBoxName.ClientID);
}
else
{
StatusLabel.Text = "Wrong user name or password.";
}
}
private void CallbackButton4_Click(object sender, System.EventArgs e)
{
ArrayList removeIndexes = new ArrayList();
foreach (DataGridItem item in DataGrid1.Items)
{
CheckBox checkBox = (CheckBox) item.FindControl("CheckBox1");
if (checkBox != null)
{
if (checkBox.Checked)
{
removeIndexes.Add(item.ItemIndex);
}
}
}
for (int i = removeIndexes.Count - 1; i >= 0; i--)
{
dataTable.Rows.Remove(dataTable.Rows[(int) removeIndexes[i]]);
}
BindGrid();
}
private DataTable dataTable
{
get
{
return (DataTable) ViewState["table"];
}
set
{
ViewState["table"] = value;
}
}
private void AddAcount(string userName, string userPassword)
{
dataTable.Rows.Add(new object[] { userName, userPassword, DateTime.Now } );
}
private AccountStatus CheckAccount(string userName, string userPassword)
{
DataTable table = dataTable;
AccountStatus status = AccountStatus.NotExist;
foreach (DataRow row in table.Rows)
{
string tableName = (string) row[0];
string tablePassword = (string) row[1];
if (userName.Equals(tableName))
{
if (userPassword.Equals(tablePassword))
{
status = AccountStatus.AccountExists;
}
else
{
status = AccountStatus.NameExists;
}
break;
}
}
return status;
}
private void BindGrid()
{
DataGrid1.DataSource = dataTable;
DataGrid1.DataBind();
}
private void CallbackTextBox1_TextChanged(object sender, System.EventArgs e)
{
try
{
int charCount = int.Parse(CallbackTextBox1.Text);
if ((charCount >= 6) && (charCount <= 15))
{
Random r = new Random();
string s = "0123456789abcdefjhijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
string res = string.Empty;
for (int i = 0; i < charCount; i++)
{
res += s[r.Next(0, s.Length)];
};
lblResult.Text = res;
lblResult.ForeColor = Color.Black;
}
else
{
lblResult.Text = "Range between 6 - 15";
lblResult.ForeColor = Color.Red;
}
}
catch
{
lblResult.Text = "Invalid number";
lblResult.ForeColor = Color.Red;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -