C# ASP.NET性别验证不起作用
好的,所以我希望能够验证是否选择了男/女,或者是否还没有选择。以下是我的代码:C# ASP.NET性别验证不起作用,c#,asp.net,validation,webforms,C#,Asp.net,Validation,Webforms,好的,所以我希望能够验证是否选择了男/女,或者是否还没有选择。以下是我的代码: protected void checkGender() { var selectedGender = ddlGender.SelectedValue; if (selectedGender == "-1") { Label1.Text = "Please select your gender!"; }
protected void checkGender()
{
var selectedGender = ddlGender.SelectedValue;
if (selectedGender == "-1")
{
Label1.Text = "Please select your gender!";
}
else
{
Label1.Text = "";
}
}
请选择。。。
男性
女性
您可以使用SelectedIndex
:
var selectedGender = ddlGender.SelectedIndex;
if (selectedGender == 0)
{
Label1.Text = "Please select your gender!";
}
else
{
Label1.Text = "";
}
您可以使用
SelectedIndex
:
var selectedGender = ddlGender.SelectedIndex;
if (selectedGender == 0)
{
Label1.Text = "Please select your gender!";
}
else
{
Label1.Text = "";
}
我建议使用,而不是手动进行验证
<asp:RequiredFieldValidator ID="rfvGender" runat="server"
ControlToValidate="ddlGender"
ErrorMessage="Please select your gender!"
InitialValue="-1"> // Alternativaly you can set the InitialValue in Load event
</asp:RequiredFieldValidator>
//您也可以在Load事件中设置InitialValue
使用验证程序控件时,可以使用统一的页面.IsValid
属性检查页面是否有效
一般来说,最好尽可能使用标准的ASP.NET验证控件,否则最终会产生一堆乱七八糟的代码,以后很难维护。我建议使用,而不是手动进行验证
<asp:RequiredFieldValidator ID="rfvGender" runat="server"
ControlToValidate="ddlGender"
ErrorMessage="Please select your gender!"
InitialValue="-1"> // Alternativaly you can set the InitialValue in Load event
</asp:RequiredFieldValidator>
//您也可以在Load事件中设置InitialValue
使用验证程序控件时,可以使用统一的页面.IsValid
属性检查页面是否有效
一般来说,最好尽可能使用标准的ASP.NET验证控件,否则您将得到一堆乱七八糟的代码,以后很难维护这些代码。实际上,这非常有效!我有rfv,但想添加一些自定义验证,但这将更好地工作,我不认为有必要为我或任何人去写更多的代码比你不得不麻烦!谢谢@Alexander Manekovskiy这真是太棒了!我有rfv,但想添加一些自定义验证,但这将更好地工作,我不认为有必要为我或任何人去写更多的代码比你不得不麻烦!谢谢@Alexander Manekovskii我认为这是一个关于XY问题答案的好例子()。作者需要验证下拉框中的值,但未能验证,因此,作者没有指向标准asp.net验证控件等更规范的解决方案,而是获得了一个解决方案,当然解决了问题,但没有为未来提供良好的指导。所以我怀疑这个答案的价值。谢谢你的反馈,亚历山大,这两个答案真的帮助了我@AlexanderManekovskiy您有一个正确的观点,而ASP.NET确实有内置的工具来实现这一点。有时你不得不手工操作,尤其是当你需要更多的定制时。例如,如果OP希望显示消息框而不是标签。正如OP在他的文章中提到的,他想要一些定制的东西。我认为这是一个回答XY问题()的好例子。作者需要验证下拉框中的值,但未能验证,因此,作者没有指向标准asp.net验证控件等更规范的解决方案,而是获得了一个解决方案,当然解决了问题,但没有为未来提供良好的指导。所以我怀疑这个答案的价值。谢谢你的反馈,亚历山大,这两个答案真的帮助了我@AlexanderManekovskiy您有一个正确的观点,而ASP.NET确实有内置的工具来实现这一点。有时你不得不手工操作,尤其是当你需要更多的定制时。例如,如果OP希望显示消息框而不是标签。正如OP在他的文章中提到的,他想要一些定制的东西。