如何在发现错误后清除标签?

时间:2013-11-12 00:39:19

标签: asp.net c#-4.0

我有一个在线表单,其中有许多文本框,包括电子邮件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;

                }

            }
        }

    }

4 个答案:

答案 0 :(得分:1)

试试..

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

答案 1 :(得分:1)

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程序员:)

答案 2 :(得分:1)

把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 = "";
}

答案 3 :(得分:1)

更新您的按钮点击事件,如下所示

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;

            }

        }
    }

}