2011-04-28 89 views
1

在我的一個ASP.NET窗體上使用recaptcha時,我得到了嚴重的重複驗證調用,問題在邏輯上沒有辦法確保Page.Validate()被調用並只被調用一次,recaptcha如果在沒有Page.Validate()的情況下調用Page.IsValid,並且在PageControl上沒有屬性,則返回false以確定是否調用Validate()爲什麼隱藏「_validated」字段

我找到了一個解決方法:How to determine whether page was validated?,但我相信這是一個重要的屬性,應該可用。

任何想法爲什麼這個屬性不可用?

回答

2

要回答你的問題,我會帶你到類似問題上的出色答案:get the value of non public member

但是,如果您認爲這是真的重要的財產,您可以實現自己的Validated並綁定您的驗證邏輯。例如。您可以在Page類中覆蓋Validate方法:

public class MyPage : Page 
{ 
    public bool Validated { get; private set; } 

    public override void Validate(string validationGroup) 
    { 
     this.Validated = true; 
     base.Validate(validationGroup); 
    } 

    public override void Validate() 
    { 
     this.Validated = true; 
     base.Validate(); 
    } 
}