2010-04-15 44 views
0

我有標記,以便:ASP.NET的CustomValidator試圖匹配System.EventHandler?

<asp:TextBox runat="server" ID="Accountname" /> 
<asp:CustomValidator runat="server" ControlToValidate="Accountname" OnServerValidate="Accountname_CheckUnique" meta:resourcekey="ACCOUNTNAME_UNAVAILABLE" /> 

代碼隱藏這樣:

protected void Accountname_CheckUnique(object source, ServerValidateEventArgs arguments) 
{ 
    arguments.IsValid = Foo();  
} 

工作得很好,再沒有網頁ASP現在堅持改變任何東西:

'Accountname_CheckUnique'沒有過載匹配 委託'System.EventHandler'

那麼不,也不應該根據MSDN。這很晚了,我很累,有人知道如何解決這個問題,或者指出我理解中的明顯缺陷?

編輯:

我也試過在代碼隱藏的事件處理程序+ =鍵合,它仍然需要EventArgs的簽名。讓。沒有意義。

編輯2:

刪除並重新創建的頁面完全(複製粘貼)和問題就走了。假設一些利基事件造成了一個非常本地化的問題。

@MODS:請關閉。

+0

如果將其更改爲符合編譯器的要求,會發生什麼情況?有些東西似乎很腥。 – womp 2010-04-15 16:33:18

+0

頁面編譯但方法無用 - '(作爲ServerValidateEventArgs的參數)'爲空,因此我無法將其用於驗證。 – annakata 2010-04-16 18:14:25

回答

0

也許從Accountname_CheckUnique方法定義中刪除「protected」?

+0

否(並且我嘗試了),如果它是一個範圍界定問題,你會得到一個「foo不包含'Accountname_CheckUnique'定義的錯誤。 – annakata 2010-04-15 16:20:55

+0

我是一個小菜鳥,如果我把它作爲評論輸入,會更好。在發佈明顯建議之前,還應該檢查您的聲譽。我應該刪除答案,以便回到「未答覆」之下嗎? – Damien 2010-04-15 17:01:07

+0

不,這有助於做出錯誤的答案,因爲它對未來的讀者很有教育意義,並且可以防止其他人發佈相同內容。任何善意的答案都是有價值的,不管它是否正確。 (而代表只是一個數字,你會到達那裏) – annakata 2010-04-16 18:12:24

相關問題