2010-12-02 2 views
2

Je stocke mon HTML dans une base de données afin que la page charge les données HTML de la base de données. J'utilise ViewData dans ma page ASPX afin de peupler la page. Le code HTML est stocké dans une colonne NVARCHAR (MAX) et fonctionne très bien pour les petites pages. Le problème que j'ai est quand le HTML est grand. Il remplit les deux tiers des données HTML mais perd le dernier tiers. Y a-t-il une limite à ViewData?Est-ce que ViewData a une longueur maximale?

+0

ViewData est limitée par la mémoire disponible sur votre ordinateur de sorte que le problème est ailleurs. S'il vous plaît montrer votre code. –

Répondre

0

Pour autant que je sache, il n'y a pas de limite à la taille des données d'affichage, il est certainement possible d'afficher des données de plusieurs mégaoctets et cela devrait suffire pour contenir le HTML de la page même énorme.

De combien de données parlez-vous? En réalité, stockez-vous les données de vue dans la base de données dans le cadre de la page HTML? Cela semble être une mauvaise idée car les données d'affichage de la page doivent être générées par le runtime asp.net.

+0

12.0Kb de données. Cela ne devrait pas poser de problème. –

+0

D'accord avec Pino, la taille des données de vue ne peut pas être le problème. Pouvez-vous expliquer un peu plus en détail ce que vous faites? –

0

Basé sur le commentaire "12.0Kb de données." Je suppose que votre problème réside ailleurs où.

Vérifiez que les données sont présentes avant de les charger dans les données d'affichage.

0

Vous ne savez pas comment vous affichez vos données de vue. Mais si vous stockez le fichier html dans la table de base de données, je suis sûr que vous avez une colonne contenant FileType. Vous pouvez implémenter un lien d'action pour ouvrir un fichier html en utilisant la méthode de type FileContentResult. En supposant que vous avez un nom de table 'HtmlPage', doc et docType en tant que colonnes.

publique FileContentResult GetHtmlFile (int id) { HtmlPage htmlPage = _repository.GetPrepAttachmentByID (attachmentID); Renvoie le fichier (htmlPage.doc.ToArray(), htmlPage.docType); }

Hope this helps ...

Questions connexes