一个很大的页面,按钮的事件委托代码正常,使用了RequiredFieldValidator和RegularExpressionValidator 验证控件,而且有检查验证空间的IsValid的代码:
IEnumerator myEnumerator= this.Validators.GetEnumerator();
while (myEnumerator.MoveNext())
{
object myObject = myEnumerator.Current;
if(myObject.GetType().Equals(typeof(RequiredFieldValidator)))
{
RequiredFieldValidator ckb = (RequiredFieldValidator) myObject;
Response.Write(ckb.ID + ckb.IsValid + "<BR>");
}
if(myObject.GetType().Equals(typeof(RegularExpressionValidator)))
{
RegularExpressionValidator ckb = (RegularExpressionValidator) myObject;
Response.Write(ckb.ID + ckb.IsValid + "<BR>");
}
}
Response.Write(Page.IsValid);点击按钮时页面上输出,这些debug代码输出都是true,但是就是不去调用按钮的事件处理函数。实在想不通啊 。.NET就用了两个月,边学边干项目,这个问题花了一整天时间了,高手们快出手吧....
Page.Validate();
/*
IEnumerator myEnumerator= this.Validators.GetEnumerator();
while (myEnumerator.MoveNext())
{
object myObject = myEnumerator.Current;
if(myObject.GetType().Equals(typeof(RequiredFieldValidator)))
{
RequiredFieldValidator ckb = (RequiredFieldValidator) myObject;
Response.Write(ckb.ID + ckb.IsValid + "<BR>");
}
if(myObject.GetType().Equals(typeof(RegularExpressionValidator)))
{
RegularExpressionValidator ckb = (RegularExpressionValidator) myObject;
Response.Write(ckb.ID + ckb.IsValid + "<BR>");
}
}
Response.Write(Page.IsValid);
*/
找到出问题的验证控件,把它的isvalid属性设置为true
结题!
所有回答问题的人都给分