有没有一种方法来检查,如果我可以放心地使用Page.IsValid? [英] Is there a way to check if I can use Page.IsValid safely?
问题描述
我知道,在ASP.NET页面的code-背后叫Page.IsValid抛出一个异常,如果我没有明确之前,或者如果验证没有在事件处理程序自动调用发生Page.Validate启用的CausesValidation控制。
I know that calling Page.IsValid in code-behind of an ASP.NET page throws an exception if I didn't explicitly call Page.Validate before or if validation didn't happen automatically in an event handler of a control with enabled "CausesValidation".
有时候,我在一个方法或一个网页,我需要知道,如果所有的输入是有效的事件,但我不知道在哪里时回发是从哪里来的这个特殊的地方。所以,我不知道是否该网页之前或没有经过验证,这意味着,如果我可以问Page.IsValid不前或没有叫Page.Validate。
Sometimes I am in a method or an event of a page where I need to know if all input was valid but I don't know at this particular place where the postback came from. So I don't know if the page was validated before or not, that means, if I can ask Page.IsValid without calling Page.Validate before or not.
有没有一种方法来检查,如果页面已经被验证(就像一个布尔属性Page.HasBeenValidated或什么)?
Is there a way to check if a page was already validated (something like a boolean property "Page.HasBeenValidated" or whatever)?
推荐答案
尝试分配一个尝试catch中的私有变量
Try to assign a private variable inside a try catch
private bool isPageValid;
public bool IsPageValid
{
get
{
try
{
isPageValid= Page.IsValid
}
catch
{
Page.Validate();
isPageValid = Page.IsValid
}
return isPageValid;
}
}
这篇关于有没有一种方法来检查,如果我可以放心地使用Page.IsValid?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!