2

基于CalendarExtender的 AjaxControlToolkit API,我可以使用以下方法控制所选日期的样式:

.ajax__calendar_active { background-color:red }

根据 API,我希望 .ajax__calendar_today 可以让我控制今天表格单元格的样式,如果显示的话。不幸的是,这个 .ajax__calendar_today 控制日历底部较大的“今天:XYZ”按钮的样式。

如果/何时显示,有谁知道如何设置今天的表格单元格的样式?

更新:

我使用 Firebug 检查了 HTML,发现今天的单元格没有特殊的 css 类或其他指示符。我想从服务器端的角度来看这是有道理的......如何知道它在用户机器上是哪一天,而不添加代码来捕获 GMT 偏移量等。

所以知道我认为我坚持创建一些 javascript 来获取今天的日期客户端并与每个单元格的标题属性进行比较,该属性设置为“2011 年 2 月 11 日星期五”。

更新:2011 年 9 月 最新的 AjaxControlToolkit 版本添加了 .ajax__calendar_today css 类来控制它。

4

4 回答 4

1

我相信您可以使用以下 CSS 类:

.ajax__calendar_today .ajax__calendar_day { 背景色:红色;}

于 2011-10-04T21:39:53.340 回答
0

找不到专门的课程,所以我最终在我的 site.master 中添加了一个样式。仅供参考,填充 0 是因为边框采用 2px,这是设置的默认填充。

<style type="text/css">
    div.ajax__calendar_day[title='<%=DateTime.Now.ToString("dddd, MMMM dd, yyyy")%>']
    {
    border: 1px solid #F00;
    padding-right: 0px;
    }
</style>
于 2013-08-09T21:12:46.090 回答
0

我找到的最佳解决方案是这篇文章

我刚刚删除了函数的前两行(设置当前日期)并将 dayDIVs[i].style.border 颜色中的拼写错误修复为 dayDIVs[i].style.border颜色(颜色为大写C)。您还可以添加 dayDIVs[i].style.borderStyle = "dotted";

所以这是它的成绩单(经过我的修改):

/* In HEAD section */

<script type="text/javascript">
    function clientShown(sender, args) {
        var today = new Date();
        var currentTitle = today.localeFormat("D");
        //Find all the Day DIVs in the Calendar's daysBody
        var dayDIVs = sender._daysBody.getElementsByTagName("DIV");
        for (i = 0; i < dayDIVs.length; i++) {
            if (dayDIVs[i].title == currentTitle) {
                //Change the current day's style
                dayDIVs[i].style.borderColor = "#0066cc";
                dayDIVs[i].style.borderStyle = "dotted";
            }
        }
    }
</script>

/* and then in your BODY: */

<cc1:CalendarExtender ID="CE" runat="server" Enabled="True" TargetControlID="CalendarDateTextBox"
                        OnClientShown="clientShown" />
于 2020-09-25T15:21:43.050 回答
-1

您需要以下 CSS 类: .ajax_ calendar .ajax _calendar_active .ajax__calendar_day {background-color:red;}

于 2010-10-13T16:19:00.617 回答