无法正确显示消息

时间:2013-12-08 23:04:46

标签: c# asp.net

下面是一些代码形成了一个令我难过的程序,所以我确信这是我很容易忽视的事情。 “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 

2 个答案:

答案 0 :(得分:1)

这将永远不会执行,因为您正在进行重定向。当你进行重定向时,页面几乎停止执行或在实际重定向之前完成执行。您可能会重定向到同一页面,但这意味着页面再次“新”,因此您之前显示的任何内容都不会显示。

            Response.Redirect("frmManageUsers.aspx");
            lblError.Text += "User has successfully been added! <br/>";
如果您试图留在同一页面,请

删除response.redirect

答案 1 :(得分:1)

您正在使用Response.Redirect通知客户端应该转到其他页面。一旦你的ASP响应到达客户端,它将要求一个新页面,此时它将重新开始,上面的代码没有生成任何输出。