asp.net requiredfieldvalidator在visible=false时不起作用

本文关键字:false 不起作用 visible net requiredfieldvalidator asp | 更新日期: 2023-09-27 18:24:35

我的asp.net网站中有一些必需的Fileldvalidator,我想在需要之前将其设置为不可见。但当我将它们设置为visible=false时,它们不会开火。如果它们设置为可见=真,则它们确实有效。

这是该控件的正确行为还是错误行为。我希望它们不可见,因为在可见时存在造型问题。

asp.net requiredfieldvalidator在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将被渲染,但不可见。

asp.net控件的Visible属性与样式无关。使用css。Visible控制控件是否显示/渲染。也许你在寻找Display="Dynamic"?

使用验证器的"Enabled"属性,并将Display属性设置为Dynamic,这样在渲染时就不会占用空间。

这应该可以做你需要做的事情。