user9065477
user9065477

Reputation:

DatePicker postback return original value

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

Answers (1)

nikunjM
nikunjM

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

Related Questions