문제

what is the method to select the month name from dropdownlist and then show the month in asp.net calender control ive tried so much but no success

enter image description here

picture is attached for better understanding

도움이 되었습니까?

해결책

You can set the calendar's VisibleDate property in code to show the appropriate month, for example:

<asp:DropDownList runat="server" ID="ddlMonth" AutoPostBack="true" OnSelectedIndexChanged="SetCalendarVisibleDate">
    <asp:ListItem Text="January" Value="1" />
    <asp:ListItem Text="February" Value="2" />
    <asp:ListItem Text="March" Value="3" />
    <asp:ListItem Text="April" Value="4" />
    <asp:ListItem Text="May" Value="5" />
    <asp:ListItem Text="June" Value="6" />
    <asp:ListItem Text="July" Value="7" />
    <asp:ListItem Text="August" Value="8" />
    <asp:ListItem Text="September" Value="9" />
    <asp:ListItem Text="October" Value="10" />
    <asp:ListItem Text="November" Value="11" />
    <asp:ListItem Text="December" Value="12" />
</asp:DropDownList>

<asp:DropDownList runat="server" ID="ddlYear" AutoPostBack="true" OnSelectedIndexChanged="SetCalendarVisibleDate">
    <asp:ListItem Text="2011" Value="2011" />
    <asp:ListItem Text="2012" Value="2012" />
    <asp:ListItem Text="2013" Value="2013" />
    <asp:ListItem Text="2014" Value="2014" />
    <asp:ListItem Text="2015" Value="2015" />
</asp:DropDownList>

<asp:Calendar runat="server" ID="cal1" />

Then in your code-behind we just need to add the following event handler for the OnSelectedIndexChanged events for the DropDownLists:

protected void SetCalendarVisibleDate(object sender, EventArgs e)
{
    cal1.VisibleDate = new DateTime(int.Parse(ddlYear.SelectedValue),
                                    int.Parse(ddlMonth.SelectedValue),
                                    1);
}

An MSDN article on the VisibleDate property: http://msdn.microsoft.com/en-us/library/1adzhse7(v=vs.100).aspx

다른 팁

This is my sample, wish it helpful,Thanks

https://dotblogs.com.tw/mis2000lab/2014/08/06/calendar_postback_20140806

   protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            int myYear = System.DateTime.Now.Year;

            for (int i = 0; i < 101; i++)
            {
                DropDownList1.Items.Add((myYear - i).ToString());
            }
        }

    }


    protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
    {
        Calendar1.VisibleDate = new DateTime(Convert.ToInt32(DropDownList1.SelectedValue), Convert.ToInt32(DropDownList2.SelectedValue), 1);
    }

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top