第二次提交后验证总结

时间:2015-01-20 12:17:53

标签: c# asp.net validation

用C#NET创建一个注册表单。在我提交表单后,我的表单会经过验证,如果有任何错误,它们将显示在标签上的面板中。但是,我的问题是,在第一次验证之后,再次按下提交后,第一次验证的错误仍然停留在表单上,​​第二组验证错误将在之后列出。如果我想要验证刷新,我将如何编辑我的代码,但在我的字段中留下正确的数据,以便我的用户只更正不正确的字段以进行有效的表单提交。这里有一大块代码作为我如何验证表单中某个字段的示例,

  if (teacherName.Length == 0)
        {
            TeacherNamePanel.CssClass = "form-group has-error has-feedback";
            Label span = new Label();
            span.CssClass = "glyphicon glyphicon-remove form-control-feedback";
            TeacherNamePanel.Controls.Add(span);
            lblWarning.Text += "Please enter the name of teacher-in-charge! <br />";
        }
        else
            TeacherNamePanel.CssClass = "form-group";

以及输入所有输入后的其余验证

string msg = "";
        msg = accBLL.processCreateAccount(groupName, password, confirmPassword, school, teacherName, groupName, member1, member2, member3);

        if (msg == "Sucess")
        {
            SuccessPanel.Visible = true;
            lblSuccess.Text = "You have successfully signed up";
            WarningPanel.Visible = false;
        }
        else
        {
            SuccessPanel.Visible = false;
            lblWarning.Text += "There has been an error. Please try again!<br />";
            WarningPanel.Visible = true;
        }

以下是我用于显示验证消息的面板

<asp:Panel ID="WarningPanel" CssClass="alert alert-dismissable alert-danger" runat="server">
      <asp:Label ID="lblWarning" runat="server"></asp:Label>
</asp:Panel>

以下是我保留输入控件的面板

<asp:Panel ID="TeacherNamePanel" CssClass="form-group has-feedback" runat="server">
     <asp:TextBox ID="tbTeacherName" CssClass="form-control input-lg" placeholder="Teacher-in-charge" runat="server"></asp:TextBox>
</asp:Panel>

1 个答案:

答案 0 :(得分:1)

设置lblWarning = False的EnableViewState属性。即使对于lblSuccess Label

,我也会建议设置EnableViewState =“False”
相关问题