causesvalidationValidate事件

causesvalidation  时间:2021-01-04  阅读:()

ASP.NET ValidationGroup属性的作用和用法是什么?

如果三个控件的ValidationGroup都是"aa",都被验证控件验证着。

一个按钮的ValidationGroup也是"aa" 当按钮按下时(即POST方法提交),上面说的三个控件就被验证控件验证

page.isvalid

Page.IsValid 是在 Page_Load 发生之后才会处理 所以在 Page_Load 中调用它是无用的 应该在 OnClick , OnSelectedIndexChanged 这类的服务器控件事件中调用

这里加上CausesValidation="True" 具体有什么用?

这个界面上应该有验证控件, 你这个按钮应该是在一个列表控件里的吧。

说明要想进入这个列表的后台,先对列表的某一个输入的值进行了验证!通过了才进入后台!

asp.net中,CauseValidation是什么意思??

Control.CausesValidation 属性 获取或设置一个值,该值指示控件是否会引起在任何需要在接收焦点时执行验证的控件上执行验证。

下面的代码示例创建一个 Windows 窗体,该窗体添加在文本框中输入的数字。

在显示结果之前会先验证文本框。

private void AddHandlers() { // Add the Validating and Validated handlers for textboxes. myTextBox1.Validating += new System.ComponentModel.CancelEventHandler(myTextBox1_Validating); myTextBox1.Validated += new System.EventHandler(myTextBox1_Validated); myTextBox2.Validating += new System.ComponentModel.CancelEventHandler(myTextBox2_Validating); myTextBox2.Validated += new System.EventHandler(myTextBox2_Validated); myTextBox1.CausesValidationChanged += new System.EventHandler(myTextBox1_CausesValidationChanged); myTextBox2.CausesValidationChanged += new System.EventHandler(myTextBox2_CausesValidationChanged); if(myTextBox1.CausesValidation == true && myTextBox2.CausesValidation == true) { button1.Text = "Disable Validation"; myLabel.Text = "Validation Enabled"; this.Focus(); } } private void myTextBox1_Validating(object sender,System.ComponentModel.CancelEventArgs e) { if(!CheckIfTextBoxNumeric(myTextBox1)) { myLabel.Text = "Has to be numeric"; e.Cancel = true; } } private void myTextBox1_Validated(object sender,System.EventArgs e) { myLabel.Text = "Validated first control"; } private void myTextBox2_Validating(object sender,System.ComponentModel.CancelEventArgs e) { if(!CheckIfTextBoxNumeric(myTextBox2)) { myLabel.Text = "Has to be numeric"; e.Cancel = true; } } private void myTextBox2_Validated(object sender,System.EventArgs e) { myLabel.Text = "Validated second control"; } private void myTextBox1_CausesValidationChanged(object sender,System.EventArgs e) { myLabel.Text = "CausesValidation property was changed for First Textbox"; } private void myTextBox2_CausesValidationChanged(object sender,System.EventArgs e) { myLabel.Text = "CausesValidation property was changed for Second Textbox"; } private bool CheckIfTextBoxNumeric(TextBox myTextBox1) { bool isValid = true; if(myTextBox1.Text == "") { isValid = false; } else { for(int i=0; i< myTextBox1.Text.Length;i++) { if(!(System.Char.IsNumber(myTextBox1.Text[i]))) { myTextBox1.Text = ""; isValid = false; break; } } } return isValid; } private void myButtonAdd_Click(object sender, System.EventArgs e) { try { int result = Convert.ToInt32(myTextBox1.Text) + Convert.ToInt32(myTextBox2.Text); myLabel.Text = result.ToString(); } catch(Exception myException) { myLabel.Text = "Exception : " + myException.Message; } } private void button1_Click(object sender, System.EventArgs e) { if(myTextBox1.CausesValidation == false && myTextBox2.CausesValidation == false) { myTextBox1.CausesValidation = true; myTextBox2.CausesValidation = true; button1.Text = "Disable Validation"; myLabel.Text = "Validation Enabled"; } else if(myTextBox1.CausesValidation == true && myTextBox2.CausesValidation == true) { myTextBox1.CausesValidation = false; myTextBox2.CausesValidation = false; button1.Text = "Enable Validation"; myLabel.Text = "Validation Disabled"; } }

Validate事件

Validate 事件和CausesValidation 属性协同工怍,防止控件失去焦点直到满足确定的准则。

重点CausesValidation属性值设置为True时,Validate事件才发生。

Validate事件、 CausesValidation属性示例该示例使用三个控件来示范Validate 事件和CausesValidation 属性的使用。

在缺省情况下,两个TextBox 控件的CausesValidatio n属性设置为 True,这样当您想把焦点从一个TextBox转换到另一个时,Validate 事件发生。

如果 Text1没有包含日期或 Text2没有包含一个大于10的数字,焦点的转换将被阻止。

由于 Command1控件的CausesValidation 属性设置为 False,因此您无论何时都可以单击Help 按钮。

要试验该示例,在窗体中放置一个CommandButton 和两个TextBox 控件,将代码粘接到窗体的“声明”部分并运行此工程。

按Tab 键尝试转换焦点。

Private Sub Form_Load() '设置按钮的CausesValidation属性为False。

当用户 '单击按钮时,Validate事件不发生。

'设置按钮的Caption属性为“帮助”。

With Command1 .CausesValidation = False .Caption = "Help" End With Show With Text1 '选择Text1的文本并为它设置焦点。

.SelLength = Len(Text1.Text) .SetFocus End WithEnd SubPrivate Sub Command1_Click() '当单击此按钮时给出用户帮助信息。

MsgBox _ "Text1 must be set to a date." & VbCrLF & _ "Text2 must be a number less than 10."End SubPrivate Sub Text1_Validate(KeepFocus As Boolean) '如果值不是一个日期,则保持焦点,除非用户 '单击Help。

If Not IsDate(Text1.Text) Then KeepFocus = True MsgBox "Please insert a date in this field.", , "Text1" End ifEnd Sub Private Sub Text2_Validate(KeepFocus As Boolean) '如果值是一个大于10的数字,保持焦点。

If Not IsNumeric(Text2.Text) Or Val(Text2.Text) > 10 Then KeepFocus = TrueMsgBox _"Please insert a number less than or equal to 10.", , "Text2" End IfEnd Sub应用于: CheckBox 控件ComboBox 控件CommandButton 控件DirListBox 控件DriveListBox 控件FileListBox 控件HScrollBar、VScrollBar 控件ListBox 控件Multimedia MCI 控件OptionButton 控件PictureBox 控件TextBox 控件相关基础知识: 对象表达式说明具体对象的表达式,可以包含对象的容器。

例如,应用程序可以拥有 Application 对象,其中包含 Document 对象,而 Document 对象又包含 Text 对象。

昔日数据月付12元起,湖北十堰机房10M带宽月付19元起

昔日数据怎么样?昔日数据是一个来自国内服务器销售商,成立于2020年底,主要销售国内海外云服务器,目前有国内湖北十堰云服务器和香港hkbn云服务器 采用KVM虚拟化技术构架,湖北十堰机房10M带宽月付19元起;香港HKBN,月付12元起; 此次夏日活动全部首月5折促销,有需要的可以关注一下。点击进入:昔日数据官方网站地址昔日数据优惠码:优惠码: XR2021 全场通用(活动持续半个月 2021/7...

racknerd新上架“洛杉矶”VPS$29/年,3.8G内存/3核/58gSSD/5T流量

racknerd发表了2021年美国独立日的促销费用便宜的vps,两种便宜的美国vps位于洛杉矶multacom室,访问了1Gbps的带宽,采用了solusvm管理,硬盘是SSDraid10...近两年来,racknerd的声誉不断积累,服务器的稳定性和售后服务。官方网站:https://www.racknerd.com多种加密数字货币、信用卡、PayPal、支付宝、银联、webmoney,可以付...

无视CC攻击CDN ,DDOS打不死高防CDN,免备案CDN,月付58元起

快快CDN主营业务为海外服务器无须备案,高防CDN,防劫持CDN,香港服务器,美国服务器,加速CDN,是一家综合性的主机服务商。美国高防服务器,1800DDOS防御,单机1800G DDOS防御,大陆直链 cn2线路,线路友好。快快CDN全球安全防护平台是一款集 DDOS 清洗、CC 指纹识别、WAF 防护为一体的外加全球加速的超强安全加速网络,为您的各类型业务保驾护航加速前进!价格都非常给力,需...

causesvalidation为你推荐
视频制作软件哪个好什么视频编辑软件比较适合小白的闪迪和金士顿哪个好闪迪和金士顿哪个好游戏加速器哪个好游戏加速器用哪个比较好用朱祁钰和朱祁镇哪个好明英宗和明代宗是怎么回事?英语词典哪个好哪个英语词典好苹果手机助手哪个好苹果手机助手哪个好用些谁知道qq空间登录qq空间如何登陆百度空间登录怎么登录百度空间考生个人空间登录湖南自考所有成绩查询怎么查YunOSYunOS怎么样,有用过的吗?
域名投资 企业域名备案 已备案域名出售 ix主机 mediafire omnis 抢票工具 patcha 国外空间 typecho 免费网络电视 彩虹ip 免费ftp站点 丹弗 panel1 免费网站申请 安徽双线服务器 国外的代理服务器 秒杀品 免费个人主页 更多