从日历中选择后,值未输入文本框

Values are not entering into textbox after selection from calendar

我已经为 txtProjectDate 文本框启用了必填字段验证器,这不允许在单击 calendar.So 按钮后弹出日历,我无法将 select 值输入到文本框。 ERROR:Mandatory 字段

A​​SPX 文件

 <tr>
            <td>Project Started at</td>
            <td>::</td>
            <td><asp:TextBox ID="txtProjectDate" runat="server" OnTextChanged="txtProjectDate_TextChanged1"></asp:TextBox>
               <asp:ImageButton ID="btnShowCalendar" runat="server" OnClick="btnShowCalendar_Click" ImageUrl="D:\calendar4.png" />
               <asp:Calendar ID="calProjectDate" runat="server" OnSelectionChanged="calProjectDate_SelectionChanged" Visible="False"></asp:Calendar>
               <asp:RequiredFieldValidator ID="rfvProjectDate" runat="server" ControlToValidate="txtProjectDate" ErrorMessage="MANDATORY"></asp:RequiredFieldValidator>
              </td>
        </tr>

ASPX.CS 文本框、日历、按钮的代码

  protected void btnShowCalendar_Click(object sender, ImageClickEventArgs e)
        {
            calProjectDate.Visible = true;
        }

        protected void calDateofBirth_SelectionChanged(object sender, EventArgs e)
        {
            txtProjectDate.Text = calProjectDate.SelectedDate.ToShortDateString();

            calProjectDate.Visible = false;
        }

        protected void txtProjectDate_TextChanged(object sender, EventArgs e)
        {

        }

        protected void calProjectDate_SelectionChanged(object sender, EventArgs e)
        {
            txtProjectDate.Text =
            calProjectDate.SelectedDate.ToShortDateString();
            calProjectDate.Visible = false;
        }

请帮我找出解决办法...

只需在 ImageButton 中将 CausesValidation 属性设置为 false:-

 <asp:ImageButton ID="btnShowCalendar" runat="server" CausesValidation="false" 
       OnClick="btnShowCalendar_Click" ImageUrl="D:\calendar4.png" />