我想在Webgrid中创建一些超链接。我想让“用户名”列将其值显示为超链接而不是文本。是否可以将@ Html.ActionLink函数合并到下面的WebGrid中?
columnName需要一个字符串,该字符串对应于传递给视图的模型的属性。所以问题是如何将其转化为链接。
查看:
@model IEnumerable<CIMsWebApp.Client.Group.Entities.IUser>
@{ var grid = new WebGrid(Model, canSort: true, canPage: true, defaultSort: "UserName", ajaxUpdateContainerId: "myUserGrid"); }
@grid.GetHtml(
tableStyle: "dataGrid",
headerStyle: "header",
alternatingRowStyle: "evenRow",
columns: grid.Columns
(
grid.Column(header: "User Name", columnName: "UserName", canSort: false),
grid.Column(header: "Role(s)", columnName: "Rolebuilder", canSort: false),
grid.Column(header: "Active", columnName: "ActiveInd", canSort: false),
grid.Column(header: "Action", format:
@<span><input type="button" class="edit-user" id="@item.PersonId" value="EDIT" />
</span>, canSort: false)
)
)
答案 0 :(得分:1)
所以问题是如何将其变成链接。
您可以使用format
参数为此单元格提供您喜欢的任何自定义格式(顺便说一下,您已为最后一列执行此操作):
grid.Column(
header: "Subject",
columnName: "UserName",
format: item => Html.ActionLink((string)item.UserName, "SomeAction", new { id = (int)item.PersonId })
)