Telerik MVC グリッドを使用する部分ビューがあり、次のような列バインディング コードがあります (非常に部分的なビュー)。
.Columns(column =>
{
column.Bound(model => model.PlannedFinishDate).Title("Planned Date").Format("{0:dd/MM/yyyy}").Width(83);
column.Bound(model => model.Province).Width(70);
if (Roles.IsUserInRole("Controller") == true)
{
column.Bound(model => model.InstallerName).Width(85);
column.Bound(model => model.InstallerAccepted).Title("Accepted").Width(45);
column.Bound(model => model.KitShippedDescription).Width(70);
}
// etc. etc.
ここで、グリッドでレンダリングされたのと同じデータを Excel にエクスポートするコントローラー アクションを作成する必要があります。また、同じロール ベースの列の包含/除外が必要です。ロール チェック ロジックを複製したくないので、ここで使用するデータをコントローラーで列バインディングに生成し、それを ViewData と共に渡し、それをビューで使用して動的に列をバインドする方法を探しています。 .