繁体   English   中英

asp.net webforms中的错误集合

[英]error collection in asp.net webforms

我试图根据页面上的错误更改文本框的CSS。 说要将文本框的背景变为红色。 我想通过基页执行此操作,以便继承此基页的每个代码隐藏都将执行此功能。 我试图在OnLoad事件中这样做

protected override void OnLoad(EventArgs e)
{
    //code here
    base.OnLoad(e);
}

如何访问基本页面中的错误集合...

for each(var error in Page.Errors)
{
    TextBox textBox = error.textboxInError;
    textBox.Background - Color = "Red";
}

更具体地说,我想触发页面验证错误。

如果您使用的是Web表单验证程序,则可以执行以下操作:

// Get a collection of all validators to check, sort of like this
var allValidators = new[] { validator1, validator2, validator3 };

foreach (var validator in allValidators)
{
    validator.Validate();
    var ctrl = (WebControl)Page.FindControl(validator.ControlToValidate);
    ctrl.BackColor = validator.IsValid ? Colors.Red : Colors.White;
}

更新

显然, Page对象有一组验证器。 Page.Validators 以下是使用该修改后的代码:

foreach (var validator in Page.Validators)
{
    validator.Validate();
    var ctrl = (WebControl)Page.FindControl(validator.ControlToValidate);
    ctrl.BackColor = validator.IsValid ? Colors.Red : Colors.White;
}

查看本教程 它将帮助您创建自定义错误页面,并在Application,Page或Web.Config级别捕获错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM