0

我正在尝试将鼠标悬停在颜色更改功能上添加到 ASP.NET 中的默认日历。到目前为止,我已经尝试实现以下代码:

    Color col = new Color();
    col = Calendar1.DayStyle.BackColor;
    if (col != Color.Empty)
    {
        e.Cell.Attributes["onmouseover"] = "this.style.backgroundColor='pink';";
        e.Cell.Attributes["onmouseout"] = "this.style.backgroundColor='" + col + "';";
    }
    else
    {
        e.Cell.Attributes["onmouseover"] = "this.style.backgroundColor='pink';";
        e.Cell.Attributes["onmouseout"] = "this.style.backgroundColor='';";
    }

如果我不点击日期,事情似乎工作正常。但是,当我单击日期并且日期背景变为灰色时,背景颜色变为粉红色,然后再次变为白色。这似乎是因为不知何故

    col = Calendar1.DayStyle.BackColor;

没有选择正确的背景颜色?

我在这里错过了什么吗?

4

1 回答 1

0

为什么不以编程方式进行:

Color col = new Color();
col = (e.IsSelected) ? Calendar1.SelectedDayStyle.BackColor.ToString() : Calendar1.DayStyle.BackColor.ToString();

e.Cell.Attributes["onmouseover"] = "this.style.backgroundColor='pink';";
e.Cell.Attributes["onmouseout"] = "this.style.backgroundColor='" + col + "';";

您只需要确定当前日期是否被渲染;我不确定是否有 IsSelected 属性;如果没有,请将 e.IsSelected 替换为执行此操作的内容。

于 2012-09-04T17:55:58.880 回答