1

ドロップダウン リストから月の名前を選択し、asp.net カレンダー コントロールで月を表示する方法は何ですか?

ここに画像の説明を入力

理解を深めるために画像を添付します

4

2 に答える 2

7

コードでカレンダーのVisibleDateプロパティを設定して、適切な月を表示できます。次に例を示します。

<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" />

OnSelectedIndexChanged次に、コード ビハインドで、DropDownListsのイベント用に次のイベント ハンドラーを追加するだけです。

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

VisibleDateプロパティに関する MSDN の記事: http://msdn.microsoft.com/en-us/library/1adzhse7(v=vs.100).aspx

于 2013-08-02T09:43:18.163 に答える
3

これは私のサンプルです。参考になれば幸いです、ありがとう

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

于 2016-11-28T01:51:48.757 に答える