MVC3 WebGrid列定义问题

时间:2011-09-02 13:35:31

标签: c# asp.net-mvc asp.net-mvc-3

我的一个视图中有一个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的新手)

1 个答案:

答案 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