2011-09-02 104 views
0

我在其中一個視圖中有一個WebGrid,如果用戶是領導者,我想在其中一列顯示圖像。到目前爲止,我目前沒有工作。任何人都知道我可以做到這一點?MVC3 WebGrid列定義問題

我troublerow的代碼:

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) 
), 

即時得到過載錯誤。 希望大家可以看到我想在這裏做什麼。 (進出口新的剃鬚刀和的WebGrid)

回答

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    
) 

查看更多有關代表在這裏剃刀:http://haacked.com/archive/2011/02/27/templated-razor-delegates.aspx

+0

沒有工作,我不認爲你可以寫剃刀一樣的語法在webgrid定義裏面 – tskulbru

+0

對不起,是的:)微小的修改應該可以工作,不是嗎?只是把它定義爲一些變量。 –

+0

你有沒有例子?我試過了大概50種方法:P – tskulbru