0

在花了很多时间研究之后,我终于找到了一个适合我的 ASP.NET MVC 应用程序的网格,它就是mvc-grid。现在,在实现它之后一切看起来都很好,但我注意到缺少一个基本功能,我无法单击项目(列)。据我所见,没有这样的属性可以告诉其中一列它是可点击的(或者甚至整行都可以点击并在点击时改变颜色)。但我需要它是可点击的,以便显示所选项目的详细信息。

有没有人实现了这种网格,并且有关于如何使列成为实际链接(按钮......)的任何信息,例如调用 javascript 函数

这是网格的代码:

@(Html
.Grid(Model)
.Build(columns =>
{
    columns.Add(model => model.Name).Titled("Name");
    columns.Add(model => model.Surname).Titled("Surname");

    columns.Add(model => model.Age).Titled("Age");   
})
.Pageable(pager =>
{
    pager.PagesToDisplay = 2;
    pager.RowsPerPage = 4;
})
.Filterable()
.Sortable()
)

谢谢

4

1 回答 1

0

我找到了这个Grid 组件的解决方案。我只需要添加这样的列:

columns.Add().Encoded(false).Sanitized(false).RenderValueAs(o => @<a href="/INV_Locations/Edit/@o.Id" class="btn btn-success btn-sm noDecoration"><span class="glyphicon glyphicon-pencil"></span> Edit</a>).SetWidth(15);

实际上这是我使用的第一个组件,但由于它不提供 Ajax Paging,我不得不切换(尽管这两个组件非常相似)

我尝试将此方法与我正在使用的组件一起使用,但没有这样的方法RenderValueAs,有一个方法RenderedAs,但它不采用相同的参数,当我像RenderValueAs方法一样使用它时,我得到错误:

 Cannot convert lambda expression to type 'object' because it is not a delegate type

我想必须有一种方法将列实现为链接(否则网格将无用),但没有我可以查看的文档,所以我希望有人已经这样做并且可以给我一些提示

谢谢

于 2015-05-13T13:00:03.233 回答