📄 myaccount.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.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Security.Cryptography;
using System.Text;
using infoWeb.WebModules.Accounts;
using infoWeb.WebModules.Accounts.Business;
namespace infoWeb.ThePhile.Web.Modules.Users
{
/// <summary>
/// Summary description for MyAccount.
/// </summary>
public class MyAccount : infoWeb.ThePhile.Web.PhilePage
{
protected infoWeb.ThePhile.Web.Controls.Server.Navigator MenuNav;
protected System.Web.UI.WebControls.Panel mainPanel;
protected System.Web.UI.WebControls.TextBox FirstName;
protected System.Web.UI.WebControls.TextBox EmailAddress;
protected System.Web.UI.WebControls.TextBox LastName;
protected System.Web.UI.WebControls.TextBox Address1;
protected System.Web.UI.WebControls.TextBox Address2;
protected System.Web.UI.WebControls.DropDownList StateDropDown;
protected System.Web.UI.WebControls.TextBox ZipCode;
protected System.Web.UI.WebControls.TextBox City;
protected System.Web.UI.WebControls.Button SubmitChanges;
protected System.Web.UI.WebControls.TextBox HomePhone;
protected System.Web.UI.WebControls.TextBox CurrentPassword;
protected System.Web.UI.WebControls.TextBox NewPassword;
protected System.Web.UI.WebControls.TextBox NewPasswordConfirm;
protected System.Web.UI.WebControls.ValidationSummary ValidatorSummary;
protected System.Web.UI.WebControls.RequiredFieldValidator EmailRequired;
protected System.Web.UI.WebControls.RegularExpressionValidator EmailAddressRegExp;
protected System.Web.UI.WebControls.RequiredFieldValidator CurrentPasswordRequired;
protected System.Web.UI.WebControls.CompareValidator NewPasswordCompareValidator;
protected System.Web.UI.WebControls.RequiredFieldValidator FirstNameRequired;
protected System.Web.UI.WebControls.RequiredFieldValidator LastNameRequired;
protected System.Web.UI.WebControls.RequiredFieldValidator AddressRequired;
protected System.Web.UI.WebControls.RequiredFieldValidator CityRequired;
protected System.Web.UI.WebControls.RequiredFieldValidator ZipCodeRequired;
protected System.Web.UI.WebControls.RegularExpressionValidator ZipCodeRegExp;
protected System.Web.UI.WebControls.Label SaveMessage;
protected System.Web.UI.WebControls.Label RoleList;
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
RoleList.Visible = false;
SaveMessage.Visible = false;
if (!Page.IsPostBack)
{
DataSet states;
if (Context.User.Identity.IsAuthenticated)
{
infoWeb.WebModules.Accounts.Business.User currentUser =
new infoWeb.WebModules.Accounts.Business.User( (infoWeb.WebModules.Accounts.Business.SitePrincipal)Context.User );
FirstName.Text = currentUser.FirstName;
EmailAddress.Text = currentUser.EmailAddress;
LastName.Text = currentUser.LastName;
Address1.Text = currentUser.Address1;
Address2.Text = currentUser.Address2;
ZipCode.Text = currentUser.ZipCode;
City.Text = currentUser.City;
HomePhone.Text = currentUser.HomePhone;
states = AccountsTool.GetStates();
StateDropDown.DataSource = states;
StateDropDown.DataTextField = "Description";
StateDropDown.DataValueField = "StateCode";
StateDropDown.DataBind();
StateDropDown.SelectedIndex =
StateDropDown.Items.IndexOf(StateDropDown.Items.FindByValue( currentUser.State ));
}
else
{
mainPanel.Visible = false;
}
}
if ( ((SitePrincipal)Context.User).Roles.Count > 0 )
{
RoleList.Visible = true;
ArrayList roles = ((SitePrincipal)Context.User).Roles;
RoleList.Text = "You are have been granted the following roles:<ul>";
for(int i=0; i<roles.Count; i++)
{
RoleList.Text += "<li>" + roles[i] + "</li>";
}
RoleList.Text += "</ul>";
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
// IMPORTANT NOTE:
// If we don't call base.OnInit(e) BEFORE calling InitializeComponent, then all
// of the work done in our PhilePage_Load event handler will NOT be executed before
// the current page's Page_Load event handler!
base.OnInit(e);
InitializeComponent();
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.SubmitChanges.Click += new System.EventHandler(this.SubmitChanges_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void SubmitChanges_Click(object sender, System.EventArgs e)
{
// formulate a call to the update method on the user object to
// save the user changes to the database.
SaveMessage.Visible = false;
if (Page.IsValid)
{
if ( ((SiteIdentity)User.Identity).TestPassword( CurrentPassword.Text) == 0)
{
// display appropriate password failure message
SaveMessage.Text = "The password you supplied is incorrect.<br>";
SaveMessage.Visible = true;
}
else
{
try
{
infoWeb.WebModules.Accounts.Business.User currentUser =
new infoWeb.WebModules.Accounts.Business.User(
(infoWeb.WebModules.Accounts.Business.SitePrincipal)Context.User);
currentUser.FirstName = FirstName.Text;
currentUser.LastName = LastName.Text;
currentUser.Address1 = Address1.Text;
currentUser.Address2 = Address2.Text;
currentUser.City = City.Text;
currentUser.State = StateDropDown.Items[StateDropDown.SelectedIndex].Value;
currentUser.EmailAddress = EmailAddress.Text;
currentUser.HomePhone = HomePhone.Text;
currentUser.ZipCode = ZipCode.Text;
if (NewPassword.Text != "")
{
currentUser.Password = SitePrincipal.EncryptPassword( NewPassword.Text );
}
if (!currentUser.Update())
{
SaveMessage.Visible = true;
SaveMessage.Text = "There was an error saving changes to your account.<br>";
}
else
{
SaveMessage.Visible = true;
SaveMessage.Text = "Account settings succesfully modified...<br><br>";
}
}
catch (Exception localException)
{
throw new infoWeb.WebModules.AppException("Application failed to save changes to Account", localException);
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -