2012-04-14 34 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; 
    } 
} 
相关问题