asp.net requiredfieldvalidator在visible=false时不起作用
本文关键字:false 不起作用 visible net requiredfieldvalidator asp | 更新日期: 2023-09-27 18:24:35
我的asp.net网站中有一些必需的Fileldvalidator,我想在需要之前将其设置为不可见。但当我将它们设置为visible=false时,它们不会开火。如果它们设置为可见=真,则它们确实有效。
这是该控件的正确行为还是错误行为。我希望它们不可见,因为在可见时存在造型问题。
在ASP.NET中设置Visible="false"
将导致而不是的元素呈现到页面。因此,它基本上不存在于客户端。默认情况下,它们应该是不可见的,并且只有当需求的标准不满足时才会显示(或者它们是通过使用IsValid="false"
强制的)。
您可以使用Display
属性来帮助简化布局模式,但我有一种感觉,这与您想要做的事情并不完全相关。
我猜这是因为默认情况下,RequiredFieldValidator
通过将visibility
设置为hidden
来隐藏自己。
要将display
改为none
(不会在页面上留下空白),请删除Visible="False"
属性并将此属性添加到控件:
Display="Dynamic"
尝试这样做:
$("#myField").hide();
在jQuery中,或:
style="display:none"
在输入标签内。
然后,in将被渲染,但不可见。
使用验证器的"Enabled"属性,并将Display属性设置为Dynamic,这样在渲染时就不会占用空间。
这应该可以做你需要做的事情。