1

我正在为我的项目使用 ASP RadControls。我想知道如何根据财政年度设置 MinDate 和 MaxDate。我尝试以下代码,但我不知道如何将最小值和最大值设置为 datepicker。请帮助我。

     string finyear = ViewState["FIN_YR"].ToString();//viewstate["FIN_YR"]="1112"
     string pr = finyear.Substring(0, 2);//pr="11"
     string pr1 = "20";
     string year1 =pr1+pr;//year1="2011"
     int firstyear = Convert.ToInt32(year1);
     string pa = finyear.Substring(2, 2);//pa="12"
     string year2 = pr1 + pa;//year2="2012"
     int Secondyear = Convert.ToInt32(year2);
     dtpRemitDate.MinDate = System.DateTime.Parse("firstyear/4/1");

我试过这样但System.DateTime.Parse("int,int,int");只能接受。如何将 min Date 设置为 datepicker?

4

1 回答 1

4

首先,我会尝试形成更少的字符串操作。看起来你只需要两个:

  • 使用隐含的“2000”基数解析最小年份
  • 使用隐含的“2000”基数解析最大年份

其余的基于DateTimeint

string financialYearText = ViewState["FIN_YR"].ToString();
int minYear2Digits = int.Parse(financialYearText.Substring(0, 2));
int maxYear2Digits = int.Parse(financialYearText.Substring(2, 2));
dtpRemitDate.MinDate = new DateTime(minYear2Digits + 2000, 4, 1);
dtpRemitDate.MaxDate = new DateTime(maxYear2Digits + 2000, 4, 1);

这假设它将始终基于 2000 年 - 如果您有“旧”记录,例如“8788”,这应该意味着 1987 年和 1988 年,您需要做更多的工作。

于 2012-08-01T05:55:52.607 回答