Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在代码隐藏中向GridView添加CSS_C#_Asp.net_Css_Gridview - Fatal编程技术网

C# 在代码隐藏中向GridView添加CSS

C# 在代码隐藏中向GridView添加CSS,c#,asp.net,css,gridview,C#,Asp.net,Css,Gridview,我正在尝试设置GridView对象的样式,但我似乎无法让它使用CSS类。我正在动态创建GridView,因此它们都是在代码隐藏中创建的。我尝试了以下方法,但似乎没有任何效果 for (...) { GridView gv = new GridView(); gv.CssClass = "aclass"; gv.Attributes.Add("class", "aclass"); } 以及在RowDataBound事件中: foreach (row in gv) e.Row.Cells[i

我正在尝试设置GridView对象的样式,但我似乎无法让它使用CSS类。我正在动态创建GridView,因此它们都是在代码隐藏中创建的。我尝试了以下方法,但似乎没有任何效果

for (...)
{
 GridView gv = new GridView();
 gv.CssClass = "aclass";
 gv.Attributes.Add("class", "aclass");
}
以及在RowDataBound事件中:

foreach (row in gv)
e.Row.Cells[i].CssClass = "aClass";
但我仍然无法设计数据的样式。非常感谢您的任何建议

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Cells[1].CssClass = "controlbackcolor";
            e.Row.Cells[3].CssClass = "controlbackcolor";
        }
    }
这应该是可行的,但您需要确保css类放在正确的位置或链接。。否则,您将无法应用样式

在head标记或链接中,您的Css类声明应该类似于以下内容:

.controlbackcolor { 背景:绿色; 字体大小:粗体; 颜色:白色; }

最好的方法是像现在这样分配CssClass。然后使用如下选择器控制样式:

Codehind

MyGridView.CssClass = "aclass";
CSS

.aclass{Border: 1px solid lighgray;}
.aclass tr td {background:green; font-weight:bold; color: white}
Gridview在HTML中呈现为普通表,所以您可以在CSS端执行此操作,以减少代码延迟负载

引导类也可以添加到代码隐藏中,如


在页面生命周期的哪个阶段创建gridview<代码>页面加载,
初始化
?我正在PageLoadTry中执行此操作。请尝试将该代码移动到
页面初始化
方法。由于页面生命周期的原因,不应在页面加载上创建动态控件。您能否详细说明它需要位于何处?我有一个Site.Css页面,我觉得我可以把它放在任何地方。感谢如果您从新的网站模板开始使用网站母版页,那么您在Site.CSS中添加的CSS类应该可以用于任何页面。
protected void gvEmpContactsHistory_SelectedIndexChanged(object sender, EventArgs e)
    {
        string val = Convert.ToDateTime(gvEmpContactsHistory.SelectedDataKey.Value).ToString("dd-MM-yyyy hh:mm:ss", new System.Globalization.CultureInfo("en-US"));
        GetEmployeeDetail(val);

        foreach (GridViewRow row in gvEmpContactsHistory.Rows)
        {
            if (row.RowIndex == gvEmpContactsHistory.SelectedIndex)
            {
                row.ToolTip = string.Empty;
                row.Attributes.Add("class", "btn-success");
            }
            else
            {
                row.ToolTip = "Click to select this row.";
                row.Attributes.Add("class", "btn-outline-success");
            }
        }
    }