Asp.net mvc 排序Telerik扩展网格时,RowAction样式丢失

Asp.net mvc 排序Telerik扩展网格时,RowAction样式丢失,asp.net-mvc,telerik-mvc,Asp.net Mvc,Telerik Mvc,我正在使用Telerik Extensions for ASP.NET MVC的网格控件。我已经使用Ajax绑定在部分视图中加载了网格。对网格列进行排序时,RowAction中指定的样式将丢失 @(Html.Telerik().Grid<MySite.DTO.CaseDto>(Model.Cases) .Name("CasesGrid") .HtmlAttributes(new { style = "width: 10

我正在使用Telerik Extensions for ASP.NET MVC的网格控件。我已经使用Ajax绑定在部分视图中加载了网格。对网格列进行排序时,RowAction中指定的样式将丢失

 @(Html.Telerik().Grid<MySite.DTO.CaseDto>(Model.Cases)
                .Name("CasesGrid")
                .HtmlAttributes(new { style = "width: 1000px;" })
                .DataBinding(dataBinding => dataBinding.Ajax()            
                    .OperationMode(GridOperationMode.Client)         
                    .Select("DI_UrgentCases_AjaxRead", "Dashboard")
                )
我试过了表中给出的建议,但不起作用。我尝试在客户端重新绑定网格,但当我这样做时,排序后的网格显示在新页面中,而不是在局部视图中


请帮忙

最后,我找到了解决问题的办法。我的问题是,每次我对网格进行排序时,所有的渲染和事件绑定都会丢失。每次使用ajax绑定重新绑定网格时,它只返回数据并加载到网格中。 为了保留任何css样式和事件绑定,我必须再次应用css,并在数据绑定到网格后重新绑定事件

Telerik扩展提供了一个名为“OnDataBound”的客户端事件,当网格通过ajax或web服务进行数据绑定时调用该事件。(参考:

@(Html.Telerik().Grid(Model.Users)
.Name(“MyUsersGrid”)
.ClientEvents(events=>events.OnDataBound(“grid\u OnDataBound”))
函数网格\u OnDataBound(e){重新绑定的代码,应用css…}
然后在函数grid_OnDataBound()中,我们可以定义重新绑定事件的代码,并在数据绑定上引发此事件时应用css

    .RowAction(row =>
                         {
                             if (row.DataItem.IsUrgent)
                             {
                                 row.HtmlAttributes["style"] = "background:#FFBABA";
                             } 
                         })
   @(Html.Telerik().Grid<MySite.DAL.DTO.UserDto>(Model.Users)
                .Name("MyUsersGrid")                   
                .ClientEvents( events =>   events.OnDataBound("grid_OnDataBound"))

function grid_OnDataBound(e) { code for rebind, apply css...}