我想通过以下方式自定义asp:Calendar-Element:
1)每天都有一个下拉列表,有6-7个短语,如(不在办公室,节假日)等等。并且根据您单击的选项,该da的颜色会发生变化。此外,选定的optin应保存到数据库中。
2)只有某些用户应该能够查看过去几个月。对于所有其他用户,应该没有用于选择前几个月的按钮。
这个日历可以吗?有没有人以这种方式修改它并可以给我一些提示?或者我是否需要自己创建这样的日历?
感谢您的提示!
答案 0 :(得分:3)
是的,您可以使用您的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>";
}