您的位置:首页 > Web前端

Professional asp.net 2.0 server control and component development

2007-10-10 09:47 501 查看
P653 Listing 21-21

void OnLogin(object sender, EventArgs e)

{

if (CustomComponents.Membership.ValidateUser(userNameTextBox.Text,

passwordTextBox.Text))

{

FormsAuthenticationTicket ticket = new FormsAuthenticationTicket( 1,

userNameTextBox.Text, DateTime.Now,

DateTime.Now.AddSeconds(40),false, string.Empty);

string encryptedTicket = FormsAuthentication.Encrypt(ticket);

HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName);

cookie.Value = encryptedTicket;

Page.Response.Cookies.Add(cookie);

EnsureChildControls();

Page.Response.Redirect(

FormsAuthentication.GetRedirectUrl(userNameTextBox.Text, false), true);

}

}
对于EnsureChildControls()的调用,作者解释:

The OnLogin method calls the EnsureChildControls method before the call into the Redirect method because it passes the value of the Text property of the username TextBox into the Redirect method. Recall that every composite

control must call the EnsureChildControls method before it attempts to access its child controls:

但是之前的代码早已经access its child controls了。奇怪。

if (CustomComponents.Membership.ValidateUser(userNameTextBox.Text,

passwordTextBox.Text))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: