Format ASP.NET MVC3 WebGrid: paramètre

Je suis en train d'utiliser la nouvelle WebGrid dans ASP.NET MVC3 et l'une des colonnes que je veux afficher un ensemble de icônes de lien qui effectue différentes actions (Modifier, Supprimer)...
Pour cet effet, j'ai un HtmlHelper extensions que, fondamentalement, les sorties HTML suivant:

<a href="" title=""><img alt="" src="" /></a>

L'extension renvoie MvcHtmlString et il fonctionne très bien lorsque utilisé dans de Rasoir vues par lui-même..par exemple:
@Html.ActionLinkIconForEditAction("Client", 2)

Le problème est que j'ai besoin d'invoquer cette aide (une fois pour chaque action) dans WebGrid colonne en passant l'ID de l'objet. Le problème que je suis perplexe sur le fait que le compilateur me donne un message d'erreur indiquant qu'il ne peut pas convertir MvcHtmlString (ou "lambda expression" en fonction de l'invocation j'essaie) au Système.Func prévu par le format...

Ainsi, par exemple, cela fonctionne:

grid.Column(header: "", format: @<text>@Html.ActionLinkIconForEditAction("Customer", 2)</text>)

Mais ce n'est pas:

grid.Column(header: "", format: (customer) => @<text>@Html.ActionLinkIconForEditAction("Customer", customer.Id)</text>)
grid.Column(header: "", format: (customer) => Html.ActionLinkIconForEditAction("Customer", customer.Id))

J'obtiens:

Error 4 Argument 3: cannot convert from 'lambda expression' to 'System.Func<dynamic,object>'

ou pour cet appel:

grid.Column(header: "", format: Html.ActionLinkIconForEditAction("Customer", customer.Id)),

J'obtiens:

Error 5 Argument 3: cannot convert from 'System.Web.Mvc.MvcHtmlString' to 'System.Func<dynamic,object>'

Ce qui est bizarre, j'ai d'autres colonnes qui ustilize lambdas, Modèle direct.Les accesseurs de propriété, et même en sortie de Chaîne.("Format")...Ils travaillent tous très bien...
J'ai lu toutes les docs sur la touche Func et ce fil ainsi, et ne peut toujours pas tout à fait 🙂

Quelqu'un peut repérer ce que je fais de mal?

source d'informationauteur zam6ak