C# 如何使用C将新日期发送到下一页

C# 如何使用C将新日期发送到下一页,c#,asp.net,C#,Asp.net,背景:我在test.aspx页面上有一个按钮,我在这个页面上还有一个名为lblselectedate的标签。此名为b1的按钮将标签中的日期发送到si.aspx。这工作正常 问题:例如,对于加载页面上的test.aspx,lblSelectedDate的默认值为2017年7月1日;按b1键可将该日期成功发送到si.aspx。但是它发送的是2017年7月1日,看看下面我的代码片段,它增加了一天,所以日期应该是2017年7月2日,对吗 不知道我错过了什么 以下是发送日期的代码段,单击事件: DateT

背景:我在test.aspx页面上有一个按钮,我在这个页面上还有一个名为lblselectedate的标签。此名为b1的按钮将标签中的日期发送到si.aspx。这工作正常

问题:例如,对于加载页面上的test.aspx,lblSelectedDate的默认值为2017年7月1日;按b1键可将该日期成功发送到si.aspx。但是它发送的是2017年7月1日,看看下面我的代码片段,它增加了一天,所以日期应该是2017年7月2日,对吗

不知道我错过了什么

以下是发送日期的代码段,单击事件:

DateTime lblHiddenDate = Convert.ToDateTime(lblSelectedDate.Text);
Response.Redirect("si.aspx?lblDateFull=" + lblHiddenDate.AddDays(1).ToShortDateString();
使用会话状态:

    protected void btnSend_Click(object sender, EventArgs e)
    {
        Session["SomeDate"] = Convert.ToDateTime(lblSelectedDate.Text).AddDays(1);
         Response.Redirect("WebForm2.aspx");
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        var dateText = Convert.ToDateTime(Session["SomeDate"]);
    }

它将向下一页发送什么而不是2017年7月2日?您可能应该使用DateTime.ParseExact而不是Convert.ToDateTime从字符串中获取正确的日期。这很可能是您看到的UTC问题。调试并查看lblHiddenDate的值是多少。是否在下一页的日期值中执行任何操作?您是否调试并检查了传递的值?您可以使用蹒跚学步的孩子观察在urlI中传递的值,该值将以其他格式发送,而不是ToSortDateString提供的可能不明确的格式。ISO格式或时间戳格式更可靠。如果在convert语句后面加一个断点,lblHiddenDate中的datetime值是多少?