[英]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.