-je avoir une vue partielle qui utilise un Telerik MVC Grille, et il a code de liaison colonne comme suit (vue très partielle):colonne latérale Contrôleur de liaison pour Telerik MVC Grille
.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.
Maintenant je dois écrire un action du contrôleur pour exporter les mêmes données que celles rendues dans la grille vers Excel, et j'ai besoin de la même inclusion/exclusion de colonne basée sur le rôle. Je ne veux pas dupliquer la logique de vérification de rôle, donc je cherche un moyen de générer les données utilisées ici pour la liaison de colonnes dans le contrôleur, transmettez-le avec ViewData, et utilisez-le dans la vue pour lier dynamiquement les colonnes .
Laissez-moi ce redressait: vous voulez que l'utilisateur la possibilité de télécharger exactement la même HTML grille comme une feuille de calcul Excel en cliquant sur un lien? Ou enregistrer dans un fichier Excel sur le serveur? –
Je souhaite que l'utilisateur puisse cliquer sur un lien et télécharger une feuille de calcul générée sur le serveur. Je ne peux pas laisser l'utilisateur télécharger la grille parce qu'elle est paginée, et le spreadhseet doit contenir toutes les pages. – ProfK