Question

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

Was it helpful?

Solution

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

OTHER TIPS

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);
    }

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top