Добрый день, коллеги.
Перехожу на Framework 4 и не могу понять некоторых особенностей работы с dynamic
При выполнении следующего кода возникает ошибка: An expression tree may not contain a dynamic operation
@grid.GetHtml(
columns: grid.Columns(
grid.Column(null, null, format: item =>
{
return Html.ActionLinkWithImage<ClientRecordController>(c => c.ClientRecordIndex(0, item.Id, null), "~/Content/Images/users.png", new { title = Resources.Details }, null, null);
}
)
)
Здесь параметр format принимает делегат Func<dynamic, object>, а параметр функции ActionLinkWithImage<T> принимает Expression<Action<T>>
Если изменить код таким образом:
@grid.GetHtml(
columns: grid.Columns(
grid.Column(null, null, format: item =>
{
int id = item.Id;
return Html.ActionLinkWithImage<ClientRecordController>(c => c.ClientRecordIndex(0, id, null), "~/Content/Images/users.png", new { title = Resources.Details }, null, null);
}
)
)
то все работает. Почему?