将鼠标悬停在ASP.NET日历中突出显示日期



我正试图在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;

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

这里有我错过的东西吗?

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

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替换为具有此功能的内容。

相关内容

  • 没有找到相关文章

最新更新