如何在DataGrid中的按钮上设置CssClass

bgs*_*264 3 asp.net gridview .net-4.0

我在DataGrid中有一个ButtonColumn:

<asp:ButtonColumn HeaderText="Edit" ButtonType="PushButton" Text="Edit" />
Run Code Online (Sandbox Code Playgroud)

我如何设置它的CSS类?

我能看到的唯一方法就是挂钩RowDataBound事件:

Protected Sub dgSchedule_ItemDataBound(sender As Object, e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgSchedule.ItemDataBound
    If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then
        DirectCast(e.Item.Cells(6).Controls(0), Button).CssClass = "confirmButton"

    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

我觉得必须有一个更整洁的方式.如果我添加/删除列会发生什么,我将不得不回到这里并记得更改第6列......

我尝试使用TemplateColumn和平常asp:Button- 这工作,但然后点击它没有触发我需要触发的网格的ItemCommand事件.

bgs*_*264 8

我已经通过使用GridView而不是DataGrid解决了这个问题.实际上不确定为什么我首先使用DataGrid.

这提供了额外的属性 ControlStyle-CssClass

例如

<asp:ButtonField HeaderText="Edit" ButtonType="Button" Text="Edit" ControlStyle-CssClass="confirmButton" />
Run Code Online (Sandbox Code Playgroud)