2012-04-14 16 views
0

私は、3つのドロップダウンリストを含むUserコントロールを持っています:日、月、年。それは日記のようなものです。それはプライベートフィールドを持っていますASP.NET - すべてのページロード時にユーザーコントロールフィールドの値が変更される

private bool _isValidDate = false; 

ドロップダウンリストの最初の項目は、 "Day"、 "Month"、 "Year"です。 SelectedIndexChangedイベントでは、私は、選択したすべてのインデックスが0より大きいかどうかを確認し、それが本当なら、私は、このようなようdropdownlistsの値を持つ新しいDateTimeオブジェクトを作成しよう:私は前に、このコントロールを使用するフォームの

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

私はIsValidDateプロパティをチェックし、それが偽であればユーザに警告します。私が正しい日付を設定してボタンを押すのは初めてですが、IsValidDateプロパティがtrueであるため警告が表示されませんが、2回目にクリックすると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; 
    } 
} 
関連する問題