如何在捕获错误后清除标签



我有一个在线表格,其中有许多文本框,包括电子邮件ID,密码和其他详细信息。当用户未输入正确的信息时。我显示以下代码中显示的错误消息。我正在使用来自 SQL 的返回值。我正在尝试清除每次单击按钮的标签。谁能帮我?

protected void Button1_Click(object sender, EventArgs e)
    {
        {
            {
                SqlConnection sqlCon = new SqlConnection(strCon);
                SqlCommand cmd = new SqlCommand("UpdateRequestAccess_Test", sqlCon);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "UpdateRequestAccess_Test";
                cmd.Connection = sqlCon;
                ----------Parameters are declared here--------
                SqlParameter rpv = new SqlParameter();
                rpv.DbType = DbType.Int32;
                rpv.Direction = ParameterDirection.ReturnValue;
                cmd.Parameters.Add(rpv);
                try
                {
                    sqlCon.Open();
                    cmd.ExecuteScalar();
                    int retValue = Convert.ToInt32(rpv.Value);

                        if (retValue == 10)
                            lblMessage.Text = "Request was sent successfully!";
                        if (retValue == 11)
                            Label2.Text = "*Email Address is already registered.";
                        if (retValue == 12)
                            Label3.Text = "*Passwords do not match.";
                        if (retValue == 13)
                            Label4.Text = "Sorry, Your application was already denied earlier.";
                        if (retValue == 14)
                            Label5.Text = "*Please select an option 'Yes' or 'No' under Select Online Tools.";
                        if (retValue == 15)
                            Label6.Text = "*Please enter the information in the text boxes above.";
                        if (retValue == 15)
                            Label7.Text = "*Please Select an option from the dropdown above.";
                }
                catch (Exception ex)
                {
                        lblMessage.Text = ex.Message;
                        Label2.Text = ex.Message;
                        Label3.Text = ex.Message;
                        Label4.Text = ex.Message;
                        Label5.Text = ex.Message;
                        Label6.Text = ex.Message;
                        Label7.Text = ex.Message;
                }
            }
        }
    }

将 ClearTextMsg(); 放入页面加载事件中。

如果您使用 if(!IsPostBack) { } 代码块在页面加载中,然后将其放在那一面。

完美位置是页面加载事件的第一行。 喜欢以下

protected void Page_Load(object sender, EventArgs e)
{
     ClearTextMsg();
     if (!IsPostBack)
     {
        // any valid c# statments
     }
}
// call this function
private void ClearTextMsg()
{
lblMessage.Text = "";
Label2.Text = "";
Label3.Text = "";
Label4.Text = "";
Label5.Text = "";
Label6.Text = "";
Label7.Text = "";
}

尝试..

lblMessage.Text = "";
Label2.Text = "";
Label3.Text = "";
Label4.Text = "";
Label5.Text = "";
Label6.Text = "";
Label7.Text = "";
lblMessage.Text = ex.Message;
Label2.Text = ex.Message;
Label3.Text = ex.Message;
Label4.Text = ex.Message;
Label5.Text = ex.Message;
Label6.Text = ex.Message;
Label7.Text = ex.Message;

尝试在代码开头添加这些行,就在 try-catch 语句try的正上方。

或者也许你可以做到

Label7.Clear(); 

虽然不确定语法,但我是一名 vb.net 程序员:)

更新按钮单击事件,如下所示

protected void Button1_Click(object sender, EventArgs e)
{
                    lblMessage.Text = string.Empty;
                    Label2.Text = string.Empty;
                    Label3.Text = string.Empty;
                    Label4.Text = string.Empty;
                    Label5.Text = string.Empty;
                    Label6.Text = string.Empty;
                    Label7.Text = string.Empty;

    {
        {
            SqlConnection sqlCon = new SqlConnection(strCon);
            SqlCommand cmd = new SqlCommand("UpdateRequestAccess_Test", sqlCon);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "UpdateRequestAccess_Test";
            cmd.Connection = sqlCon;
            ----------Parameters are declared here--------
            SqlParameter rpv = new SqlParameter();
            rpv.DbType = DbType.Int32;
            rpv.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(rpv);
            try
            {
                sqlCon.Open();
                cmd.ExecuteScalar();
                int retValue = Convert.ToInt32(rpv.Value);

                    if (retValue == 10)
                        lblMessage.Text = "Request was sent successfully!";
                    if (retValue == 11)
                        Label2.Text = "*Email Address is already registered.";
                    if (retValue == 12)
                        Label3.Text = "*Passwords do not match.";
                    if (retValue == 13)
                        Label4.Text = "Sorry, Your application was already denied earlier.";
                    if (retValue == 14)
                        Label5.Text = "*Please select an option 'Yes' or 'No' under Select Online Tools.";
                    if (retValue == 15)
                        Label6.Text = "*Please enter the information in the text boxes above.";
                    if (retValue == 15)
                        Label7.Text = "*Please Select an option from the dropdown above.";
            }
            catch (Exception ex)
            {
                    lblMessage.Text = ex.Message;
                    Label2.Text = ex.Message;
                    Label3.Text = ex.Message;
                    Label4.Text = ex.Message;
                    Label5.Text = ex.Message;
                    Label6.Text = ex.Message;
                    Label7.Text = ex.Message;
            }
        }
    }
}

最新更新