Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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
Asp.net 将下一年/上一年按钮添加到asp日历控件_Asp.net_Controls - Fatal编程技术网

Asp.net 将下一年/上一年按钮添加到asp日历控件

Asp.net 将下一年/上一年按钮添加到asp日历控件,asp.net,controls,Asp.net,Controls,需要在ASP日历控件中动态添加下一个上一年的按钮 如何将其添加到现有的next和prev控件旁边?是否可以通过dayrender事件执行此操作??请帮助尝试以下操作 <asp:Calendar ID="calender1" runat="server" VisibleDate="2012-10-10"></asp:Calendar> <asp:Button ID="btnMNext" runat="server" Text="Next Month" /> &l

需要在ASP日历控件中动态添加下一个上一年的按钮

如何将其添加到现有的next和prev控件旁边?是否可以通过dayrender事件执行此操作??请帮助

尝试以下操作

<asp:Calendar ID="calender1" runat="server" VisibleDate="2012-10-10"></asp:Calendar>
<asp:Button ID="btnMNext" runat="server" Text="Next Month" />
<asp:Button ID="btnMPrev" runat="server" Text="Prev Month" />
<asp:Button ID="btnNextYr" runat="Server" Text="Next Year" />
<asp:Button ID="btnPrevYr" runat="server" Text="Prev Year" />
<br />
<asp:TextBox ID="txtcur" runat="server"></asp:TextBox>

不可以,您无法轻松修改现有日历。但也许在日历上方添加一个表格行就足够了,您可以在其中选择年份

<table>
    <tr>
        <td>
            <asp:DropDownList id="drpCalMonth" Runat="Server" OnSelectedIndexChanged="Set_Calendar" AutoPostBack="true"></asp:DropDownList>
            <asp:DropDownList id="drpCalYear" Runat="Server" OnSelectedIndexChanged="Set_Calendar" AutoPostBack="true"></asp:DropDownList>
        </td>
    </tr>
    <tr>
        <td>
            <asp:Calendar id="cntCalendar" Runat="Server" Width="100%" />
        </td>
    </tr>
</table>
最后,这里是两个
DropDownLists
SelectedIndexChanged
事件的事件处理程序,它设置了新的
日期:

protected void Set_Calendar(object Sender, EventArgs e)
{
    int year = int.Parse(drpCalYear.SelectedValue);
    int month = int.Parse(drpCalMonth.SelectedValue);
    cntCalendar.TodaysDate = new DateTime(year, month, 1);
}
[测试]


灵感来自:(VB)

这确实有帮助。谢谢你,蒂姆!:)
protected void Populate_MonthList()
{
    //Add each month to the list
    var dtf = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat;
    for(int i=1; i<=12; i++)
        drpCalMonth.Items.Add(new ListItem(dtf.GetMonthName(i), i.ToString()));

    //Make the current month selected item in the list
    drpCalMonth.Items.FindByValue(DateTime.Now.Month.ToString()).Selected = true;
}


protected void Populate_YearList()
{
    //Year list can be changed by changing the lower and upper 
    //limits of the For statement    
    for (int intYear = DateTime.Now.Year - 20; intYear <= DateTime.Now.Year + 20; intYear++)
    {
        drpCalYear.Items.Add(intYear.ToString());
    }

    //Make the current year selected item in the list
    drpCalYear.Items.FindByValue(DateTime.Now.Year.ToString()).Selected = true;
}
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        Populate_MonthList();
        Populate_YearList();
    }
}
protected void Set_Calendar(object Sender, EventArgs e)
{
    int year = int.Parse(drpCalYear.SelectedValue);
    int month = int.Parse(drpCalMonth.SelectedValue);
    cntCalendar.TodaysDate = new DateTime(year, month, 1);
}