我想通过以下方式自定义 asp:Calendar-Element:
1) 每天都有一个下拉列表,其中包含 6-7 个短语,例如(不在办公室、假期)等等。并且根据您单击的选项,该 da 的颜色会发生变化。此外,选定的选项应保存到数据库中。
2) 只有特定用户才能查看过去的几个月。对于所有其他用户,不应该有选择前几个月的按钮。
这个日历可以吗?有没有人以这种方式修改过它并且可以给我一些提示?还是我需要自己创建这样的日历?
感谢您的提示!
是的,可以使用您的 asp.net 日历,但您必须使用 CSS 和 jQuery 自定义您的 asp.net 日历。我过去也用 asp.net 日历实现过。下面的代码只是为了您的帮助。
<style type="text/css">
.Calendar {border:none;}
.Calendar img{ border:none;}
.Calendar .Title {background-color:#7D9459;background-image:url(../Images/title_bg.gif);border: 1px solid black;border-bottom-width: 0px;}
.Calendar .Title td {font-family:verdana;font-size:11px;font-weight:bold;color:White;padding-top:1px;padding-bottom:1px;}
.Calendar .DayHeader {background-color:#E3E0CD;background-image:url(../Images/header_bg.gif);color:#504C39;font-family:Verdana;font-size:11px;text-align:center;border-top:solid 1px #FFFFFF; border-left:solid 1px #FFFFFF; border-bottom:solid 1px #ACA899;border-right:solid 1px #C6C1AC; padding: 4px; font-weight:normal;}
.Calendar .Day {width:90px; height:70px; text-align:center; vertical-align:top; font-family:Verdana; font-size:11px; color:Black; background-color:#FFFFFF; border:solid 1px #C6C1AC; padding:2px;}
.Calendar .OtherMonthDay {background-color:#F5F3E5;}
</style>
<asp:Calendar ID="MeetingCalendar" runat="server" CssClass="Calendar" TitleStyle-BackColor="Transparent"
CellPadding="0" BorderWidth="0px" Width="" DayNameFormat="Full" OnDayRender="MeetingCalendar_DayRender"
TitleStyle-CssClass="Title" DayHeaderStyle-CssClass="DayHeader" DayStyle-CssClass="Day"
DayStyle-Width="90px" OtherMonthDayStyle-CssClass="Day OtherMonthDay" NextMonthText="<img src='../Images/next_wht.gif' alt='' style='float:right;' />"
PrevMonthText="<img src='../Images/prev_wht.gif' alt='' style='float:left;'/>"
onvisiblemonthchanged="MeetingCalendar_VisibleMonthChanged">
</asp:Calendar>
protected void MeetingCalendar_DayRender(object sender, DayRenderEventArgs e)
{
string dayNumber = e.Day.Date.Day.ToString();
e.Cell.Text = dayNumber + "<br />";
e.Cell.Text += "<div align='center'>";
e.Cell.Text += " <a href='DailyMeetings.aspx?id=10' title='Day has meeting(s) scheduled.'>";
e.Cell.Text += " <img src='../Images/meeting.gif' height='25' width='25' alt='' border='0' />";
e.Cell.Text += " </a>";
e.Cell.Text += "</div>";
}