2011-08-01 52 views
7

我正在使用VB.NET开发一个使用MVC3的Web应用程序。MVC3 WebGrid列中的自定义文本

有困难与下列动作的WebGrid设置专栏中,我链接

编辑|详细信息|删除

@*@Html.ActionLink("Edit", "Edit", New With {.id = currentItem.PrimaryKey}) | 
@Html.ActionLink("Details", "Details", New With {.id = currentItem.PrimaryKey}) | 
@Html.ActionLink("Delete", "Delete", New With {.id = currentItem.PrimaryKey})*@ 

我曾尝试使用以下语法,但我得到的地方项目未声明的错误。

grid.Column(标题:= “”,格式:=(项目)=> item.GetSelectLink( “自定义文本”))

我如何引用当前行或项目中的WebGrid,使这项工作?

任何帮助非常感谢。

问候

詹姆斯

回答

10
grid.Column(
columnName:"PrimaryKey", 
header:"Actions",  
format: (item) => 
{ 
    var links = Html.ActionLink("Edit", "Edit", new {id = item.PrimaryKey}) + " | " + 
       Html.ActionLink("Details","Details", new { id = item.PrimaryKey}) +" | "+ 
       Html.ActionLink("Delete","Delete", new { id = item.PrimaryKey}); 

    return Html.Raw(links); 

}), 

呈现以下HTML(格式化的可读性)

<td> 
    <a href="/Home/Edit/5">Edit</a> | 
    <a href="/Home/Details/5">Details</a> | 
    <a href="/Home/Delete/5">Delete</a> 
</td> 
+1

嗨A hmad 非常感谢您的回复。我会修改这个VB.NET并试一试。 “(item)”在哪里申报? – winsql

+0

@winsql - 参考http://msdn.microsoft.com/en-us/library/system.web.helpers.webgridcolumn.format(v=vs.99).aspx – Ahmad

4

也可以使用下面这更像正常的方式,所以我比较喜欢:

grid.Column(format: @<text> 
       @Html.ActionLink("Edit", "Edit", new { id = item.Id }) | 
       @Html.ActionLink("Delete", "Delete", new { id = item.Id })  
    </text>)