如何从下拉列表中选择开始日期后获得结束日期。
我从下拉列表中选择startdate,我在标签中显示最后一个日期。
例如 - 如果我选择" 1月"从第一次下拉。日期" 1"从第二次下拉。 然后Label1.text成为最后一个日期,即12月31日。
我该怎么做?
答案 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