2013-12-08 65 views
0

下面是一些令我難以接受的程序代碼,所以我確信這是我輕易忽略的一些東西。 「lblError」標籤旨在根據情況顯示各種消息。它會顯示「請輸入用戶名」和「請輸入密碼」,就像文本框爲空時應該顯示的那樣。但是,保存用戶記錄時,不會顯示「用戶已成功添加」。除了這條消息之外,一切都按計劃進行。任何人都可以指出我正確的方向嗎?無法正常顯示訊息

// Eventhandler for the AddUser Button 
protected void btnAddUser_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     // Declare variable 
     bool isValid = true; 
     lblError.Text = ""; 

     //Format forecolor of lblError.Text 
     lblError.ForeColor = System.Drawing.Color.Red; 

     // Validate UserName.Text 
     if (string.IsNullOrEmpty((txtUserName.Text ?? string.Empty).Trim())) 
     { 
      // Format textbox and return false boolean if no input 
      txtUserName.BackColor = System.Drawing.Color.Yellow; 
      lblError.Text += "Please Enter User Name! <br/>"; 
      isValid = false; 
     } 

     // Validate txtPassword.Text 
     if (string.IsNullOrEmpty((txtUserPassword.Text ?? string.Empty).Trim())) 
     { 
      // Format textbox and return false boolean if no input 
      txtUserPassword.BackColor = System.Drawing.Color.Yellow; 
      lblError.Text += "Please Enter Password! <br/>"; 
      isValid = false; 
     } 

     if (isValid) 
     { 
      // If data is validated, save to database and display message that it was successful 
      clsDataLayer.SaveUser(Server.MapPath("PayrollSystem_DB.mdb"), 
             txtUserName.Text, 
             txtUserPassword.Text, 
             ddlSecurityLevel.Text); 
       Response.Redirect("frmManageUsers.aspx"); 
       lblError.Text += "User has successfully been added! <br/>"; 
       grdViewUsers.DataBind();    

     } 
    }// End try block 

    // Displays error message if invalid data is entered. 
    catch (Exception) 
    { 
     lblError.Text += "Please enter a valid data!"; 
    } 
}// End AddUser Button Event Handler 
+0

假設此標籤不在'frmManageUsers.aspx'上,問題是您在顯示標籤之前重定向。 – ethorn10

回答

1

這將永遠不會執行,因爲您正在執行重定向。當您執行重定向時,頁面幾乎停止執行或在實際重定向之前完成執行。您可能會重定向到同一頁面,但這意味着該頁面會再次顯示爲「新」,因此之前顯示的任何內容都不會顯示。

  Response.Redirect("frmManageUsers.aspx"); 
      lblError.Text += "User has successfully been added! <br/>"; 

刪除的Response.Redirect如果你想留在同一頁面

+0

謝謝!我知道我忽略了一些愚蠢的東西。 – Jim

1

您使用Response.Redirect通知,它應該去到不同的網頁在客戶端上。一旦你的ASP響應到達客戶端,它將要求一個新的頁面,在這一點上,它重新開始,沒有上面的代碼生成輸出。