我刚刚创建了这个扩展:
public static class GridViewRowExtension
{
public static void AppendCssClass(this GridViewRow row, string cssClass)
{
row.CssClass = string.Format("{0} {1}", row.CssClass, cssClass).Trim();
}
}
并在OnRowDataBound事件中使用它:
protected void OnInstrumentsRowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
AdjustRow(e.Row);
ToggleCloseButton(e.Row);
DisplayPerformance(e.Row);
}
else
{
e.Row.AppendCssClass("nodrag nodrop grt_gridview_default_header");
}
}
但是附加不起作用,因为 row.CssClass 在此行中用作 {0}:
row.CssClass = string.Format("{0} {1}", row.CssClass, cssClass).Trim();
是空的。我期待它会在 GridView 默认皮肤中定义一个 CssClass。
我确定我的 Skin 工作正常,因为当我删除 AppendCssClass 调用时,我看到在 skin 中定义了 CssClass。
任何想法为什么我没有达到我想要的?