Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.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# 在单击月份时保持ASP.NET日历打开_C#_Html_Css_Asp.net - Fatal编程技术网

C# 在单击月份时保持ASP.NET日历打开

C# 在单击月份时保持ASP.NET日历打开,c#,html,css,asp.net,C#,Html,Css,Asp.net,我知道人们以前在互联网上问过这个问题,但我没有使用AntJavaScript,而且做得非常基本 基本上,当他们单击文本框旁边的(ImageButton)图标时,会触发C#中的OnClick事件,从而使日历可见。然后,当他们在日历上选择任何内容时,它将触发c#agian上的SelectionChanged,然后在文本框中设置他们单击的日期 HTML 问题:当日历只在下个月点击查看时,我如何使日历保持可见。您的示例代码按预期工作。更改所选月份时,不会触发“SelectionChange”事件 有一个

我知道人们以前在互联网上问过这个问题,但我没有使用AntJavaScript,而且做得非常基本

基本上,当他们单击文本框旁边的(ImageButton)图标时,会触发C#中的OnClick事件,从而使日历可见。然后,当他们在日历上选择任何内容时,它将触发c#agian上的SelectionChanged,然后在文本框中设置他们单击的日期

HTML


问题:当日历只在下个月点击查看时,我如何使日历保持可见。

您的示例代码按预期工作。更改所选月份时,不会触发“SelectionChange”事件

有一个单独的月更改事件(VisibleMonthChanged),您可以在其中隐藏日历,但要实现所需功能,请确保您不会在代码中的其他地方隐藏日历:

protectedvoid ClanderDOI\u VisibleMonthChanged(对象发送方,MonthChangedEventArgs e)
{
ClanderDOI.Visible=true;

}

使用此代码

  • 加载页面时将不显示日历
  • 当您单击SelectDate(b选择日期)按钮时,日历将显示
  • 日历将在选择日期后消失
  • 日历不会在选择下个月时消失
  • <input id="txt_DateOfInterview" type="Date" class="aclass" runat="server" />
    
    <asp:ImageButton runat="server" imageurl="~/Images/Calender.png" id="calendericonDOI" CssClass="calendericonDOI ClanderDOI" OnClick="calendericonDOI_Click" ></asp:ImageButton>
    
    <asp:calendar runat="server" ID="ClanderDOI"  CssClass="ClanderDOI" OnSelectionChanged="ClanderDOI_SelectionChanged"  BorderColor="#6a3d98">
       <TitleStyle BackColor="Orange"/>
    </asp:calendar>
    
    protected void calendericonDOI_Click(object sender, ImageClickEventArgs e)
    {
         ClanderDOI.Visible = true;       
    }
    
    protected void ClanderDOI_SelectionChanged(object sender, EventArgs e)
    {
         txt_DateOfInterview.Value = ClanderDOI.SelectedDate.Date.ToString("d");
         ClanderDOI.Visible = false;
    }
    
    protected void Page_Load(object sender, EventArgs e)
    {
      if (!Page.IsPostBack)
      {
        Calendar1.Visible = false;
      }
    }
    protected void Calendar1_SelectionChanged(object sender, EventArgs e)
    {
      Calendar1.Visible = false;
    }
    protected void btnSelectDate_Click(object sender, EventArgs e)
    {
      Calendar1.Visible = true;
    }