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