[英]Keep ASP.NET Calender Open On Month Click
我知道之前人們通過互聯網問過這個問題,但是我沒有使用過ant Javascript,並且已經完成了非常基本的操作。
基本上,當他們單擊文本框旁邊的(ImageButton)圖標時,它將觸發C#中的OnClick事件,這將使日歷可見。 然后,當他們在該日歷上選擇任何內容時,它將觸發c#agian上的SelectionChanged,然后將設置他們在文本框中單擊的日期。
HTML
<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>
C#
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;
}
問題:如何在日歷點擊下個月時讓日歷保持可見狀態。
您的示例代碼按預期工作。 當您更改所選月份時,它不會觸發“SelectionChange”事件。
月份更改有單獨的事件(VisibleMonthChanged),您可以在其中隱藏日歷,但要實現您想要的目標,請確保不要在代碼中的其他位置隱藏日歷:
protected void ClanderDOI_VisibleMonthChanged(object sender, MonthChangedEventArgs e) { ClanderDOI.Visible = true; }
使用此代碼
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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.