Javascript webgrid排序指示器,asp.net mvc3

Javascript webgrid排序指示器,asp.net mvc3,javascript,asp.net-mvc-3,Javascript,Asp.net Mvc 3,我想要一个排序指示器作为webgrid列升序和降序的图像。我通过谷歌搜索找到了解决方案: <script type="text/javascript"> $('thead > tr > th > a[href*="sort=@grid.SortColumn"]').parent() .append('@(grid.SortDirection == SortDirection.Ascending ? "U" : "D")'); </script>

我想要一个排序指示器作为webgrid列升序和降序的图像。我通过谷歌搜索找到了解决方案:

 <script type="text/javascript">
 $('thead > tr > th > a[href*="sort=@grid.SortColumn"]').parent()
.append('@(grid.SortDirection == SortDirection.Ascending ? "U" : "D")');
</script>

 But i used the webgrid like this:

 var grid = new WebGrid(canPage: true, rowsPerPage:       SlmgWebApp.Controllers.HomeController.PageSize, canSort: true, ajaxUpdateContainerId: "grid", fieldNamePrefix: "ViewClaimfieldname", pageFieldName: "ViewClaimpagename");



grid.Bind(Model.TotalClaims, rowCount: Model.TotalRecords, autoSortAndPage: false);
grid.Pager(WebGridPagerModes.All);



@grid.GetHtml(

 tableStyle: "webgrid",
 headerStyle: "webgrid-header",
 footerStyle: "webgrid-footer",
 alternatingRowStyle: "webgrid-alternating-row",
 selectedRowStyle: "webgrid-selected-row",

    htmlAttributes: new { id = "grid" },
    columns: grid.Columns(
             grid.Column("", header: "", format: @<span><img alt="image1" src="@item.StatusIcon" title="@item.StatusName" style="height:25px; width:25px; border:0px" /></span>),

                    grid.Column("CustomerName", header: "Reference"),

                         grid.Column("RepairOrderNumber", header: "Repair Order"),

                        grid.Column("SlmgReferenceNumber", header: "SLMG Number", format: @<text><a href="javascript: getclaim('@item.SlmgReferenceNumber')">@item.SlmgReferenceNumber</a></text>),

                                  grid.Column("EquipmentManfacturer", header: "Warranty Provider"),

                                 grid.Column("SerialNumber", header: "Serial Number (P&A Number)")



                                  ));

$('thead>tr>th>a[href*=“sort=@grid.SortColumn”]).parent()
.append('@(grid.SortDirection==SortDirection.升序?“U”:“D”);
但我使用的webgrid是这样的:
var grid=new WebGrid(canPage:true,rowsPerPage:SlmgWebApp.Controllers.HomeController.PageSize,canSort:true,ajaxUpdateContainerId:“grid”,fieldname前缀:“ViewClaimfieldname”,pageFieldName:“ViewClaimpagename”);
Bind(Model.TotalClaims,行数:Model.TotalRecords,autoSortAndPage:false);
Pager(WebGridPagerModes.All);
@grid.GetHtml(
表样式:“webgrid”,
标题样式:“webgrid标题”,
页脚样式:“webgrid页脚”,
交替行样式:“webgrid交替行”,
selectedRowStyle:“webgrid选定行”,
HtmlatAttributes:new{id=“grid”},
列:grid.columns(
grid.Column(“”,标题:“”,格式:@),
grid.Column(“CustomerName”,标题:“Reference”),
网格栏(“维修订单号”,标题:“维修订单”),
网格列(“SlmgReferenceNumber”,标题:“SLMG编号”,格式:@),
网格栏(“设备制造商”,标题:“保修供应商”),
网格栏(“序列号”,标题:“序列号(P&A编号)”)
));
}


如果我将javascript函数放在页面加载中,则会抛出网格未加载的错误。我还发出了一个ajax调用,用于加载这个webgrid的数据。有谁能帮我把这个javascript放在哪里,这样我就可以在webgrid中得到一个列排序指示器。

您需要将java脚本包装到ready函数中

$(document).ready(function () {
     $('thead > tr > th > a[href*="sort=@grid.SortColumn"]').parent().append('@(grid.SortDirection == SortDirection.Ascending ? "U" : "D")');
 });

值得一提的是,这种方法不适用于ajax可更新网格。(这也是我想弄明白的)

您需要将java脚本包装到ready函数中

$(document).ready(function () {
     $('thead > tr > th > a[href*="sort=@grid.SortColumn"]').parent().append('@(grid.SortDirection == SortDirection.Ascending ? "U" : "D")');
 });

值得一提的是,这种方法不适用于ajax可更新网格。(这也是我想弄清楚的)

我不知道我的评论发生了什么,通过提高你的接受率,我的意思是接受你对之前问题的回答。我不知道我的评论发生了什么,通过提高你的接受率,我的意思是接受你对之前问题的回答