加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

即使控件被隐藏,ASP.NET中的验证仍然会激活吗?

发布时间:2020-12-15 23:55:46 所属栏目:asp.Net 来源:网络整理
导读:我有一个使用ASP.NET验证的表单.我在aspx中使用一些内联C#来显示/隐藏某些控件,具体取决于用户的角色.我会使用Visible属性,但是有很多这样的属性,我只是决定使用内联C#来显示和隐藏(我知道,不是最佳实践,但是请耐心等待一秒钟).我有一个问题,当我提交表单时(
我有一个使用ASP.NET验证的表单.我在aspx中使用一些内联C#来显示/隐藏某些控件,具体取决于用户的角色.我会使用Visible属性,但是有很多这样的属性,我只是决定使用内联C#来显示和隐藏(我知道,不是最佳实践,但是请耐心等待一秒钟).我有一个问题,当我提交表单时(当某些字段被隐藏时),Page.IsValid总是设置为False.即使控件甚至没有在pag上呈现,验证仍会触发吗?此外,如果不是这种情况,是否有一种有效的方法来分解Page.IsValid以找出将其设置为False的内容?谢谢.

解决方法

如果将Visible设置为false,则不会触发该控件的验证.从 ASP.Net Validation in Depth开始:

Why not just use Visible=false to have
an invisible validator? In ASP.NET the
Visible property of a control has a
very strong meaning: a control with
Visible=false will not be processed at
all for pre-rendering or rendering. As
a result of this stronger meaning,
Visible=false for a validator means
that not only does not it not display
anything,it is does not function
either. It is not evaluated,does not
affect page validity,and does not put
errors in the summary.

如果您希望控件进行验证但将其隐藏在页面上,请使用CSS将display设置为none.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读