C# asp.net应用程序中的服务器端验证不起作用

C# asp.net应用程序中的服务器端验证不起作用,c#,asp.net,server-side-validation,C#,Asp.net,Server Side Validation,我正在进行服务器端验证,但它似乎没有按应有的方式工作。下面是示例代码 //Validation private void validation() { if (txtFName.Text == string.Empty) { Alert("Invalid Name"); return; } if (txtLName.Text == string.Empty) { Alert("Invalid Name"); return; }

我正在进行服务器端验证,但它似乎没有按应有的方式工作。下面是示例代码

     //Validation

    private void validation()
    {
        if (txtFName.Text == string.Empty) { Alert("Invalid Name"); return; }

        if (txtLName.Text == string.Empty) { Alert("Invalid Name"); return; }
    }


       // Alert mesage
  public void Alert(string msg)
    {
        ClientScript.RegisterStartupScript(typeof(Page), "SymbolError", "<script
         type='text/javascript'>alert('" + msg + "');</script>");
    }
令人惊讶的是,即使我没有在文本框中输入任何内容,也意味着文本框是空的。。。没有警报。然而,它应该保持警惕

有人能告诉我我做错了什么吗。谢谢你的帮助

编辑:

最奇怪的是,相同的代码在其他页面中也能正常工作。如果字段为空或验证失败,则会发出警报。不确定这页有什么问题


像…一样的指针。。。这个特殊的aspx页面。。。有很多用户控件,这些控件ascx页面有Javascript。我认为这可能是任何问题

我只是尝试了以下代码

protected void Button1_Click(object sender, EventArgs e)
{
    validation();
}

private void validation() 
{ 
    Alert("Invalid Name"); 
} 


   // Alert mesage 
public void Alert(string msg) 
{ 
    ClientScript.RegisterStartupScript(typeof(Page), "SymbolError", "<script type='text/javascript'>alert('" + msg + "');</script>"); 
} 
看起来一切都很好。 查看此文件,查看是否存在任何设置问题。我不确定我只是在尝试错误


我建议您使用Asp.net验证控件,如必填字段验证程序、比较验证程序。因为框架将为您完成所有事情。那你为什么要自己验证呢

在aspx中

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="InvalidName" ControlToValidate="TextBox1"></asp:RequiredFieldValidator>
如果要在消息框或摘要中显示所有验证,可以使用验证摘要控件

<asp:ValidationSummary ID="ValidationSummary1" runat="server" ShowMessageBox="True" />
即使是Scriptmanager也没有成功。。。o、 我的解决办法是。。。我只是改变了一下验证方法,结果很好。。。如下

private bool validation() 
{ 
    if (txtFName.Text == string.Empty) { Alert("Invalid Name"); return false; } 

    if (txtLName.Text == string.Empty) { Alert("Invalid Name"); return false; } 
} 

您是否考虑过使用asp.net验证控件?他们将大大简化这一点。看见特别是,看看RequiredFieldValidator-Dash。。。我知道,但有些时候我不能用它们。。。这不是我的决定。。。我只是一名船员:真烦人!只需回发以检查字段是否为空是一件痛苦的事情,尤其是当控件内置到框架中时。在调试时,是否在验证方法中遇到断点?请参阅以获取更多建议!猛冲我正在做其他事情也在btnnext事件,但已从这篇文章中删除,因为他们是无关的。。。我先打电话给你。。。因此,如果验证通过,则只处理其他函数。是的,我做了一个调试。。。它调用函数,甚至是警报函数,然后进入下一步。我看了一些示例代码,实际上我们使用的是ScriptManager控件,如中所示
private bool validation() 
{ 
    if (txtFName.Text == string.Empty) { Alert("Invalid Name"); return false; } 

    if (txtLName.Text == string.Empty) { Alert("Invalid Name"); return false; } 
}