【问题标题】:Modal popup changing gridview row colors?模态弹出窗口更改gridview行颜色?
【发布时间】:2017-04-11 03:40:00
【问题描述】:

我的webform 有一个普通的gridview。我将它绑定到数据表,然后将cell.BackCOlor 更改为RowDataBound。即使我认为它与问题无关,我也包含了代码:

protected void GridViewButtons_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        foreach (TableCell cell in e.Row.Cells)
        {
            cell.BackColor = System.Drawing.Color.FromName(cell.Text);
        }
    }
}

gridview 一切正常。在网络表单上,最左侧还有一个按钮,它只是显示一个模式弹出窗口。这是代码:

protected void ButtonDisplayPopup_Click(object sender, EventArgs e)
{
    this.ModalPopupExtender1.Show();
}

问题是当显示模式弹出窗口时,某些行的颜色会消失。您可以在打印屏幕中看到它:

可能是什么问题?

在这个网络表单中,我还启用了一个计时器,它每 5 秒绑定一次网格视图。此计时器目前已禁用,以确保它不会导致问题。我提到它的原因是,启用 Timer 后,gridview 将重新绑定(仍然显示模态面板)并且 refresh 将正确绘制这些行,并且问题解决了。

但是,当显示模式面板时,gridview 颜色似乎发生了一些变化。

感谢任何帮助。

【问题讨论】:

    标签: c# asp.net gridview visual-studio-2015


    【解决方案1】:

    发生这种情况是因为模式弹出窗口影响了背景。在弹出窗口中添加 CSS 类:

    <asp:ModalPopupExtender BackgroundCssClass="modalBackground">
    

    然后调整下面的 CSS,直到得到你想要的结果。:

    .modalBackground 
    {
        background-color:#EBEBEB;
        filter:alpha(opacity=70);
        opacity:0.7;
    }
    

    【讨论】:

    • 我已经有了那个 CSS 类。唯一不同的是background-color,但其余属性都一样。
    • 我添加了你的 CSS 类,但我仍然遇到同样的问题。
    • 我要求您调整我给您的 CSS 或您拥有的 CSS,直到您获得所需的结果。不应该是复制粘贴的。老实说,你甚至不应该担心它,因为这是 modal 所做的:它使背景变暗,因此 modal 成为主要焦点。当您关闭模态框时,它将恢复为原始颜色。如果你愿意,你可以删除我给你的 CSS 主体和你拥有的那个,看看是否是你喜欢的。
    • 我明白这一点,但我认为您的解决方案是基于您遇到的类似问题。任何模式弹出窗口都需要这个 CSS 类。
    • 是的,它是必需的,但您可以调整它,甚至从身体上移除一些物品。请注意,我并没有说要删除该类,而是要使主体为空或对其进行调整。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    相关资源
    最近更新 更多