Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 日历之间的冲突_C#_Asp.net_Date_Datetime - Fatal编程技术网

C# 日历之间的冲突

C# 日历之间的冲突,c#,asp.net,date,datetime,C#,Asp.net,Date,Datetime,我有两个这样的日期选择器: Html: <asp:TextBox ID="fecha_ini" ClientIDMode="Static" runat="server"></asp:TextBox> <asp:Calendar ID="Calendar2" runat="server" OnSelectionChanged="D

我有两个这样的日期选择器:

Html:

      <asp:TextBox ID="fecha_ini" ClientIDMode="Static" runat="server"></asp:TextBox>
        <asp:Calendar ID="Calendar2" 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>
 <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>

问题是当我在第二个日历中选择日期时,它会正确地更改它,但会将第一个日历日期刷新回今天,我该如何解决这个问题?关于您需要将文本框的初始设置包装在
IsPostBack
复选框中。如果没有,则每次回发时都会重置它们

protected void Page_Load(object sender, EventArgs e)
{
    Thread.CurrentThread.CurrentCulture = new CultureInfo("es-MX");

    if (!IsPostBack)
    {
        fecha_ini.Text = DateTime.Today.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
        fecha_fin.Text = DateTime.Today.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
    }
}

页面发回时将触发页面加载事件。尝试将语句包装在if语句中,使其仅在页面加载时执行

if (!IsPostBack)
   {
      fecha_fin.Text = Calendar1.SelectedDate.ToString("dd/MM/yyyy");
      fecha_ini.Text = Calendar2.SelectedDate.ToString("dd/MM/yyyy"); 

    }
if (!IsPostBack)
   {
      fecha_fin.Text = Calendar1.SelectedDate.ToString("dd/MM/yyyy");
      fecha_ini.Text = Calendar2.SelectedDate.ToString("dd/MM/yyyy"); 

    }