2009-09-05 20 views
0

我不喜歡使用.NET中的日曆,所以我想要有一個Web用戶控件和3個下拉框,日,月,年。 [CODE DONE]驗證 - 網頁用戶控件

我希望能夠調用此控件,並將其初始化爲開始年份和結束年份,以及是否帶有選定的日期。 [CODE DONE]

該控件將查看是否有一個有效的日期選擇並返回bool [CODE DONE]

然後在我的網頁中,我想能夠看到該網頁用戶控件是否有效,並且可以使用正常的.NET驗證(關聯一個必填字段),問題是我不能不知道將該代碼放在哪裏並將其檢索到網頁上的驗證控件。 [CODE NOT DONE]

我怎樣才能做到這一點?

回答

1

將自定義服務器控件與驗證框架集成有兩個步驟。

(1)服務器端:你需要一個ValidationPropertyAttribute添加到您的類,因此驗證framwework知道要查找的驗證時,在什麼:

[ValidationProperty("SelectedDate")] 
public class MyDateControl : WebControl 
{ 
    public DateTime? SelectedDate { get { ... } set { ... } } 
} 

(2)與客戶端掛鉤驗證,您必須確保輸入標籤與您的控件相關聯。這樣做的一種方法是將< input type =「hidden」>作爲Web控件HTML的第一個子標記。驗證框架將在此基礎上提供。剩下的事情就是在每次下拉式更改時通過JavaScript設置隱藏字段。

這樣,您可以配合現有的驗證控件。如果你想用不同的方式來驗證,你應該看看一個CustomValidator。

0

您想爲此使用CustomValidator控件。請參閱this tutorial,它解釋瞭如何使用驗證的客戶端和服務器端版本來實現它。

+0

CustomValidator需要寫在我的網頁裏,這意味着如果我在很多頁面中使用我的「日曆Web用戶控件」,那麼我需要在代碼中編寫CustomValidator。這不是我正在尋找的。我希望能夠將所需的字段驗證程序與我的Web用戶控件相關聯。必要的代碼保留在用戶控件中。 – SmartStart 2009-09-05 15:30:04

+0

您可能想要編輯該問題以反映此問題。 – olle 2009-09-05 15:40:06