2010-12-02 12 views
2

Ich speichere meinen HTML-Code in einer Datenbank, damit die Seite die HTML-Daten aus der Datenbank lädt. Ich verwende ViewData in meiner ASPX-Seite, um die Seite aufzufüllen. Der HTML-Code wird in einer NVARCHAR (MAX) -Spalte gespeichert und eignet sich hervorragend für kleine Seiten. Das Problem, das ich habe, ist, wenn das HTML groß ist. Es füllt zwei Drittel der HTML-Daten aus, verliert aber das letzte Drittel. Gibt es ein Limit für ViewData?Hat ViewData eine maximale Länge?

+0

Viewdata wird durch den verfügbaren Speicher auf Ihrem Computer beschränkt, an anderer Stelle das Problem. Bitte zeigen Sie Ihren Code. –

Antwort

0

Es gibt keine Begrenzung der Ansicht Datengröße, soweit mir bekannt ist, sicherlich Ansicht von Daten von vielen Megabyte möglich ist und das sollte genug sein, um die HTML von sogar die enorme Seite enthalten.

Wie viele Daten sprechen Sie? Speichern Sie die Ansichtsdaten tatsächlich in der Datenbank als Teil des Seiten-HTML? Dies ist eine schlechte Idee, da die Ansichtsdaten der Seite von der Laufzeit von asp.net generiert werden sollten.

+0

12,0 KB Daten. Dies sollte kein Problem sein. –

+0

Stimmen Sie mit Pino überein, die Ansichtsdatengröße kann nicht das Problem sein. Kannst du etwas genauer erklären, was du tust? –

0

Basierend auf dem Kommentar "12,0 KB Daten." Ich würde annehmen, dass dein Problem wo anders liegt.

Überprüfen Sie, ob die Daten vorhanden sind, bevor Sie sie in die Ansichtsdaten laden.

0

Nicht sicher, wie Sie Ihre Viewdaten rendern. Aber wenn Sie HTML-Datei in der Datenbanktabelle speichern, bin ich sicher, dass Sie eine Spalte mit FileType haben. Sie können einen Aktionslink implementieren, um eine HTML-Datei mit der FileContentResult-Methode zu öffnen. Angenommen, Sie haben einen Tabellennamen 'HtmlPage', doc und docType als Spalten.

public Filecontentresult GetHtmlFile (int id) { Htmlpage htmlpage = _repository.GetPrepAttachmentByID (attachmentID); Rückgabedatei (htmlPage.doc.ToArray(), htmlPage.docType); }

this helps ...