如何在ASP.NET MVC Html.Grid中添加ActionLink操作链接?
在Mvc Grid组件中添加ActionLink的方法
嘿,这事儿好办!你之前用@Html.ActionLink生成详情链接的逻辑,完全可以搬到Grid组件里,只需要新增一列并自定义它的渲染内容就行。
直接给你修改后的完整代码:
<div class="code-cut"> @Html.Grid(Model).Columns(columns => { columns.Add(c => c.name).Titled("name").Sortable(true).Filterable(true); columns.Add(c => c.created).Titled("date").Filterable(true); // 新增操作列,渲染详情链接 columns.Add() .Titled("操作") .Encoded(false) // 一定要加这个!不然Grid会把HTML转成纯文本 .Sanitized(false) .RenderValueAs(c => Html.ActionLink("Подробней", "Details", new { id = c.id })); }).WithPaging(10).Sortable(true) </div>
这里有两个关键参数得注意:
.Encoded(false):禁用HTML编码,不然你的链接会变成<a href="...">Подробней</a>这样的纯文本显示在页面上.RenderValueAs(c => ...):这个方法让你可以自定义列的渲染逻辑,把原来针对单个item的ActionLink逻辑套进去就行
要是你需要加多个操作按钮(比如编辑、删除),也可以在RenderValueAs里拼接多个链接:
.RenderValueAs(c => Html.ActionLink("Подробней", "Details", new { id = c.id }) + " | " + Html.ActionLink("Редактировать", "Edit", new { id = c.id }) )
这样就能在Grid里完美展示操作链接啦!
内容的提问来源于stack exchange,提问作者triest23
相关产品推荐
相关产品推荐

