我的一个视图中有一个WebGrid,如果用户是领导者,我希望在其中一个列中显示图像。到目前为止,我目前无法工作。有谁知道我怎么能这样做?
我的麻烦的代码:
grid.Column("FullName", header:"Name", format: (item) => (item.IsLeader())) ?
@<text><img src="@Url.Content("~/Content/Images/Leader.gif")" alt="" /></text> :
Html.ActionLink((string)item.FullName,"Index","Organization", new { area = "Catalogue" }, null)
),
我收到过载错误。 希望每个人都能看到我想在这里做的事情。 (我是razor和WebGrid的新手)
答案 0 :(得分:2)
试试这个
Func<dynamic, object> format = @<text>@{
if (item.IsLeader())
{
<img src="@Url.Content("~/Content/Images/Leader.gif")" alt="" />
}
else
{
<text>Html.ActionLink((string)@item.FullName,"Index","Organization", new { area = "Catalogue" }, null).ToString()</text>;
}}</text>;
grid.Column(
"FullName",
header:"Name",
format: format
)
在此处详细了解Razor中的代表:http://haacked.com/archive/2011/02/27/templated-razor-delegates.aspx