文本框值在分配给 c# 代码中的值时不会更改

本文关键字:代码 分配 文本 | 更新日期: 2023-09-27 18:30:31

这是我的文本框(DepartureDateTB)的代码:

<asp:TextBox ID="DepartureDateTB"
             runat="server"
             CssClass="DepartureDateTB"
             ClientIDMode="Static"
             ontextchanged="DepartureDateTB_TextChanged"
             EnabledViewState="False"
             AutoPostBack="True">
</asp:TextBox>
<asp:CompareValidator ID="CompareValidator1"
                      runat="server"
                      ControlToCompare="ArrivalDateTextBox"
                      ControlToValidate="DepartureDateTB"
                      ErrorMessage="*Departure to be greater"
                      ForeColor="Red"
                      Operator="GreaterThan">
</asp:CompareValidator>

日期选择器的 JQuery:

$(function () {
            $("[id$='DepartureDateTB']").datepicker({ minDate: 0, maxDate: "+30D" });
            $("[id$='DepartureDateTB']").datepicker("option", "dateFormat", "dd/mm/yy");
    });
</script>  

在页面加载时,我正在为数据库中的文本框分配一个值。

然后,当用户更改它时,会回发,但不保留更改的值。

即使我尝试为其分配一个 Session 变量然后将其等同,我得到的只是一个空文本框。

Session["DepDateTB"] = (Request.Form[DepartureDateTB.UniqueID]).ToString();
                DepartureDateTB.Text = Session["DepDateTB"].ToString();

当我定位一个断点并运行它时,当我将鼠标悬停在文本框上时,它的值是更改的日期,但前端的文本框再次为空。

文本框值在分配给 c# 代码中的值时不会更改

日期未显示的原因是由于 jQuery 代码中的以下行:

$("[id$='DepartureDateTB']").datepicker("option", "dateFormat", "dd/mm/yy");

删除日期格式选项后,它工作正常。

我求助于更改 c# 代码中的日期格式。