asp.net - 下拉列表和字段验证引发骚乱

标签 asp.net visual-studio-2010 drop-down-menu requiredfieldvalidator comparevalidator

出于某种原因,当我做错事时,我无法让验证器发出标志。
<asp:DropDownList ID="ddlTypeList" runat="server" DataSourceID="ods_TypeOptions" DataTextField="name" DataValueField="id" SelectedValue='<%# Bind("Type") %>' AppendDataBoundItems="true">
<asp:ListItem Text="-" Value="-1" Selected="True"></asp:ListItem> </asp:DropDownList>

下拉列表有很好的值,包括初始虚拟值。

两者都不
<asp:RequiredFieldValidator ID="rfw" runat="server" ControlToValidate="ddlTypeList" InitialValue="-1" ToolTip="Required">*</asp:RequiredFieldValidator>
也不
<asp:CompareValidator ID="cv" runat="server" ControlToValidate="ddlTypeList" ValueToCompare="-1" Operator="NotEqual" ToolTip="Required">*</asp:CompareValidator>
举起任何标志说“嘿 - 你搞砸了,去修理它”。对于所有的谷歌、搜索、评论、挥舞大锤,我还没有发现我做错了什么。

我只想要一种解决方案来解决所有问题。

哦,是的,我也有一个 ValidationGroup="myGroup" DDL、RFV/CV 和按钮之间。没运气。

最佳答案

你的代码是正确的。您必须有一些阻碍验证器功能的代码或标记元素。 “-”项是否可能有它的value从“-1”更改为其他内容?

验证您提交表单的按钮是否具有 CausesValidation=True .此外,请确保验证器的父级未设置为 Visible=False否则 child 将不会在页面上呈现。

验证 RequiredFieldValidatorCompareValidator通过在输出的标记中搜索“_cv”或可能的“cv”来呈现标记。如果它不存在,则未呈现父元素之一或正在删除验证器。

关于asp.net - 下拉列表和字段验证引发骚乱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6293215/

相关文章:

asp.net - 仅在 GridView 中动态更改文本颜色

c# - 根据用户角色在运行时创建菜单

c# - 如何使用 ValidationGroup 和自定义验证创建控件?

c# - 将多个参数传递给 client.PostAsJsonAsync 函数

c++ - 隐式默认构造函数未生成 VS2010

jquery - 点击事件自动执行

javascript - getElementById 不是显示元素的函数

asp.net-core - Visual Studio with React 项目不断启动开发服务器的多个副本

c# - 使用 .Net 4 和 VS2010 创建 ActiveX.exe

drop-down-menu - 是否可以仅使用 css 将可变宽度的嵌套下拉列表居中到其可变宽度的父级?