我正试图围绕正确的语法来实现以下目标 - 或者至少要知道它是否可行,或者是否有更好的替代解决方案。
好的,开箱即用,当您使用ASP.Net MVC3下的List脚手架生成强类型视图时,您会得到一个简单的表,其中包含一个类似于两个或三个Html.ActionLink()项的列。这样的行为: 编辑|细节|删除
我想使用MvcContrib网格并执行相同操作,但我无法找出正确的语法来使其工作。到目前为止,在我的Index.cshtml中,我有以下代码段:
@(
Html.Grid(Model.PagedList).AutoGenerateColumns()
.Columns(column =>
{
column.For(f => Html.ActionLink("Edit", "Edit", new { id = f.itemID}))
.Named("");
})
.Sort(Model.GridSortOptions);
)
但是这只给了我一行“编辑”,其中我希望列包含三个操作链接 - 编辑,设备,删除 - 所有三个具有特定行的相同itemID。这可以实现吗?如果是这样,怎么样?如果没有,还有其他选择吗?
答案 0 :(得分:5)
您可以使用自定义列:
columns.Custom(
@<text>
@Html.ActionLink("edit", "edit", new { id = item.Id }) |
@Html.ActionLink("details", "details", new { id = item.Id }) |
@Html.ActionLink("delete", "delete", new { id = item.Id }) |
</text>
);
答案 1 :(得分:3)
也许对某人有所帮助:
@Html.Grid(Model).Columns(column =>
{
column.For( c=> Html.Raw(Html.ActionLink(...).ToString() +
" " + Html.ActionLink(...).ToString())).Named("Actions").Encode(false);
....
答案 2 :(得分:0)
您应该传递一个内联帮助器:
column.For(@<text>
@Html.ActionLink("Edit", "Edit", new { id = item.itemID })
@Html.ActionLink(...)
@Html.ActionLink(...)
</text>)