2012-04-14 33 views
0

我有一個包含三個下拉列表的用戶控件:日,月和年。這是一種日期選擇器。它有一個私人領域ASP.NET - 用戶控件在每個頁面上的值變化

private bool _isValidDate = false; 

在下拉列表中的第一項是「日」,「月」和「年」。在SelectedIndexChanged事件我檢查所有的選擇指數大於0,如果它是真的,我嘗試創建一個新的DateTime對象與dropdownlists值像這樣:

try 
{ 
    DateTime date=new DateTime(int.Parse(ddlYear.SelectedItem), 
           ddlMonth.SelectedIndex, 
           ddlDay.SelectedIndex); 
    _isValidDate=true; 
} 
catch {_isValidDate=false;} 

在哪裏我之前使用這種控制形式提交我檢查IsValidDate屬性,如果它是假的我警告用戶。問題是我第一次設置正確的日期並按下按鈕我沒有得到任何警告,因爲IsValidDate屬性爲true,但如果我第二次單擊它,IsValidDate屬性設置回false,並且我得到警告,雖然日期有效。我知道這是因爲每次頁面加載時,控件的_isValiddate字段都被重新設置爲默認值false。我該如何處理這個問題?

回答

1

你的財產應該是這樣的。

public Boolean IsValidDate 
{ 
    get 
    { 
     String CompleteDate = "YourYear" + "/" + "YourMonth" + "/" + "YourDay"; 
     DateTime Dt ; 
     if (DateTime.TryParse(CompleteDate, out Dt)) 
      return true; 
     return false; 
    } 
} 
相關問題