当visible = false时,asp.net requiredfieldvalidator不工作
我在我的asp.net网站上有一些requiredFileldvalidators,我希望在需要之前设置隐形。 但是,当我将它们设置为visible = false时,它们不会触发。 如果它们设置为visible = true,它们就可以工作。
这是此控件的正确行为还是错误的。 我希望它们在可见时由于样式问题而不可见。
在ASP.NET中设置Visible="false"
将导致元素无法呈现到页面。 因此,它基本上不存在于客户端。 默认情况下它们应该是不可见的,并且只有在不满足要求标准时才显示(或者通过使用IsValid="false"
强制它们)。
您可以使用Display
属性来帮助简化布局模式 – 但我感觉这与您想要做的事情并不完全相关。
我猜它是因为默认情况下, RequiredFieldValidator
通过将visibility
设置为hidden
来hidden
。
要让它将display
更改为none
(不会在页面上留下空白间隙),请删除Visible="False"
属性并将此属性添加到控件:
Display="Dynamic"
尝试这样做:
$("#myField").hide();
在jQuery中,或者:
style="display:none"
在输入标记内。
然后将会渲染,但只是不可见。
asp.net控件的Visible属性与样式无关。 使用css。 可见控制是否显示/呈现控件。 也许你在寻找Display =“Dynamic”?
改为使用validation器的“启用”属性,并将“显示”属性设置为“动态”,因此渲染时不会占用空间。
这应该是你需要做的事情。