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; }
}