如何获得结束日期

时间:2014-05-14 06:59:23

标签: asp.net ajax drop-down-menu

如何从下拉列表中选择开始日期后获得结束日期。

我从下拉列表中选择startdate,我在标签中显示最后一个日期。

例如 - 如果我选择" 1月"从第一次下拉。日期" 1"从第二次下拉。 然后Label1.text成为最后一个日期,即12月31日。

我该怎么做?

enter image description here

3 个答案:

答案 0 :(得分:2)

请尝试以下代码

     int month = DateTime.ParseExact(Convert.ToString(ddlMonth.SelectedValue), "MMMM", CultureInfo.CurrentCulture).Month;

    int day = Convert.ToInt32(ddlDay.SelectedValue);
    int year=DateTime.Now.Year;
    DateTime date = new DateTime(year,month, day);
    //Use AddDays for add and substract  days
    date.AddDays(-1);
   string str=String.Format("{0:m}", date);

答案 1 :(得分:1)

有很多方法可以做到这一点。你可以在javascript和asp.net中完成。有一个页面方法,用选择的数据进行$ .ajax调用

               $.ajax({
                   url : '',
                   data : 'month=MONTH&day=DAY',
                   success : function(result){
                     $("#labelid").text(result);
                  }
               })

C#部分

                  int maxDay = DateTime.DaysInMonth(DateTime.Now.year,month); 
                  //validate the selected day is equal or less than the maxDay 
                  DateTime StartDate = new DateTime(DateTime.Now.Year, Convert.ToInt16(dropdownMonth.SelectedIndex) + 1, Convert.ToInt16(dropdownDays.SelectedIndex) + 1);
                  DateTime PreDayDate = StartDate.AddDays(-1); lblEndDateValue.Text = PreDayDate.ToString();

如果你不想做AJAX,你必须进行回发并继续处理它。

答案 2 :(得分:0)

使用

DateTime.AddDays方法 你可以这样做

DateTime StartDate = new DateTime(DateTime.Now.Year, Convert.ToInt16(UrMonthNameDropDown.SelectedIndex+1), Convert.ToInt16(UrDateDropdown.SelectedIndex));



DateTime PreDayDate = StartDate.AddDays(-1); 

从开始日期减去1天。来源:http://msdn.microsoft.com/en-IN/library/system.datetime.adddays.aspx