Asp.net 2.0 用Membership自己寫登入頁面

iDotNetSpace發表於2009-01-05
使用者登入頁面

 如果用MS自帶的登入控制元件,不用改一行程式碼,而且會自帶一個資料庫,但是介面什麼的無法佈局,當然也可以編輯佈局,但是不怎麼方便,我們可以自己用table來寫登入頁面,以下是遇到的幾個問題及解決方式:

1. 使用者名稱,密碼不為空的檢驗

  用來獲取輸入的使用者名稱

  拖入驗證控制元件的RequiredFieldValidator (用來保證輸入不為空),設定
 
  ControlToValidate=username ,ErrorMessage="請輸入使用者名稱"即可

  注意:ValidateGroup要為空,否則驗證控制元件不管用,我還不知道為啥

  如果設定了Text則當沒有輸入的時候會顯示Text,也不會顯示ErrorMessage

2:用tab切換時,從使用者名稱的輸入框切換到密碼的輸入框

 有時不碰巧不能自動實現,設定使用者名稱輸入框的TebIndex=1,密碼的 TebIndex=2,登入按鈕的TebIndex=3.要從1開始設定,要不不管用。

3: 按下登入按鈕以後執行的事件

protected void btnLogin_Click(object sender, ImageClickEventArgs e)
{
  if (Membership.ValidateUser(UserName.Text, Password.Text))
  {

   FormsAuthentication.RedirectFromLoginPage(UserName.Text, true);
  }
  else
   FailureText.Text = "使用者名稱或密碼錯誤
請重新登陸";
}

   Membership是MS定義好的一個類,應該算是業務邏輯層的程式碼,ValidateUser之後跳轉到登入前的頁面。如果失敗則將顯示之前visible=false的 FailureText。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-526846/,如需轉載,請註明出處,否則將追究法律責任。

相關文章