下面是一些代码形成了一个令我难过的程序,所以我确信这是我很容易忽视的事情。 “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 :(得分:1)
这将永远不会执行,因为您正在进行重定向。当你进行重定向时,页面几乎停止执行或在实际重定向之前完成执行。您可能会重定向到同一页面,但这意味着页面再次“新”,因此您之前显示的任何内容都不会显示。
Response.Redirect("frmManageUsers.aspx");
lblError.Text += "User has successfully been added! <br/>";
如果您试图留在同一页面,请删除response.redirect
答案 1 :(得分:1)
您正在使用Response.Redirect
通知客户端应该转到其他页面。一旦你的ASP响应到达客户端,它将要求一个新页面,此时它将重新开始,上面的代码没有生成任何输出。