Ajax弹出日历回发自动发出

时间:2012-12-31 09:18:17

标签: asp.net ajax

在下面的代码中,选择日期后,日期将重置为默认值。

因为IN回发我设置了当前日期,如何克服这个问题,

      <asp:TextBox ID="ExpiryDateTxt" CssClass="textbox" AutoPostBack="true"    ReadOnly="true" runat="server"></asp:TextBox>  

       <ajaxToolkit:CalendarExtender   
               ID="startCalendarExtender"   Format="MM/dd/yyyy"
                TargetControlID="ExpiryDateTxt"   
                runat="server" /> 

     protected void Page_Load(object sender, EventArgs e)
     {
          if (!IsPostBack)
          {
                ExpiryDateTxt.Text =DateTime.Now.AddDays(1.0).ToString("yyyy-MM-dd hh:mm:ss");
           }
     }

1 个答案:

答案 0 :(得分:2)

我相信ReadOnly =“true”导致了这个问题。

您可以使用javascript使文本框成为只读

    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>     
    <asp:TextBox ID="ExpiryDateTxt" AutoPostBack="true" CssClass="textbox read-only" runat="server"></asp:TextBox>  

    <cc1:CalendarExtender
        ID="startCalendarExtender" Format="MM/dd/yyyy"
        TargetControlID="ExpiryDateTxt"   
        runat="server" /> 

     <script type="text/javascript">
        $(document).ready(function () {
             $('.read-only').attr("readonly", "readonly");
        });
     </script>