ASP.NET MVC,使用可点击项实现 MVC-Grid
Posted
技术标签:
【中文标题】ASP.NET MVC,使用可点击项实现 MVC-Grid【英文标题】:ASP.NET MVC, Implementing MVC-Grid With Clickable Items 【发布时间】:2015-07-24 02:33:00 【问题描述】:在花了很多时间研究之后,我终于找到了适合我的 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()
)
谢谢
【问题讨论】:
【参考方案1】:我已经找到了解决这个Grid component的方法。我只需要像这样添加列:
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
但它不采用相同的参数,当我像 @987654325 一样使用它时@方法我得到错误:
Cannot convert lambda expression to type 'object' because it is not a delegate type
我想必须有一种方法将列实现为链接(否则网格将无用),但没有可以查看的文档,所以我希望有人已经这样做并且可以给我一些提示
谢谢
【讨论】:
以上是关于ASP.NET MVC,使用可点击项实现 MVC-Grid的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 EF 在 asp.net MVC 中进行多种方法的一项事务
如何在 ASP .net MVC 4 应用程序的 HTML5 中创建带有可点击选项的水平条形图? [关闭]