Интересно, является ли это gridview или data control , в таком случае лучший способ добиться этого, и если вы хотите абстрагировать функцию наведения от фактической страницы, где поместите элемент управления (представьте, для всех страниц, которые вы используете элемент управления, вам нужно поместить этот код в саму страницу).
Итак, лучший способ - использовать событие DataItem (или аналогично всем элементам управления данными)
давайте представим, что у вас есть GridView с именем myGrid.
Событие ASP.NET
protected void myGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// it's a row that contains data, so let's attach the mouse hover effects here to each row
GridViewRow tr = e.Row;
// a little of jQuery to add a class when the mouse is over the row, and to remove it once is out of the row
tr.Attributes.Add("onmouseover", "$(this).addClass('gvSelectedDisabled');");
tr.Attributes.Add("onmouseout", "$(this).removeClass('gvSelectedDisabled');");
}
}
HTML
<asp:GridView ID="myGrid" runat="server"
onrowdatabound="myGrid_RowDataBound">
</asp:GridView>
приписка
если вы хотите, например, показать зеленый фон для элементов, которые имеют в своих данных объекта какой-либо флаг и другой цвет для других, см. Мой ответ в этой теме:
Выборочное применение CSS к строке в виде сетки