Reputation:
I have a calendar like this:image
Controller:
protected void Page_Load(object sender, EventArgs e)
{
fecha_fin.Text = DateTime.Today.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);
Thread.CurrentThread.CurrentCulture = new CultureInfo("es-MX");
}
protected void DateChange(object sender, EventArgs e)
{
fecha_fin.Text = Calendar1.SelectedDate.ToString("yyyy/MM/dd");
}
View:
<td>
<asp:TextBox ID="fecha_fin" ClientIDMode="Static" runat="server"></asp:TextBox>
<asp:Calendar ID="Calendar1" runat="server" OnSelectionChanged="DateChange" DayNameFormat="FirstLetter" Font-Names="Tahoma" Font-Size="11px" NextMonthText="." PrevMonthText="." SelectMonthText="»" SelectWeekText="›" CssClass="myCalendar" CellPadding="0">
<OtherMonthDayStyle ForeColor="#b0b0b0" />
<DayStyle CssClass="myCalendarDay" ForeColor="#2d3338" />
<DayHeaderStyle CssClass="myCalendarDayHeader" ForeColor="#2d3338" />
<SelectedDayStyle Font-Bold="True" Font-Size="12px" CssClass="myCalendarSelector" />
<TodayDayStyle CssClass="myCalendarToday" />
<SelectorStyle CssClass="myCalendarSelector" />
<NextPrevStyle CssClass="myCalendarNextPrev" />
<TitleStyle CssClass="myCalendarTitle" />
</asp:Calendar>
</td>
For default it have today date picked, problem start when I pick another day, it change date correctly with "DateChange" method, problem starts when I pick some other thing in my page, it return post today date again
For example image here I have 31-October selected but text return 12-December again. Why page reload postback as original one (when page load)? Regards
Upvotes: 1
Views: 46
Reputation: 590
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
fecha_fin.Text = DateTime.Today.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);
Thread.CurrentThread.CurrentCulture = new CultureInfo("es-MX");
}
}
On page load Check if its not page load .. This will not change values on post back ...
if (!IsPostBack) <-- This checks if its post back call or page refresh call..Upvotes: 1