Przesyłanie html do kontrolera

0

Witam,

Jeden z moich widoków generuje w sobie tabelę w HTML,
jest to tabela która przy każdym wygenerowaniu jest inna (czyli nie jest to statyczny html)
Moim zadaniem jest pobranie kodu html całej wygenerowanej tabeli i przesłanie go w jednej zmiennej do kontrolera.

Może nie jest to najładniejszy sposób zapisywania danych ale moja aktualna sytuacja tego wymaga, więc korzystając z okazji zapytam:

W jakim typie pola w bazie SQL, powinienem zapisywać tą treść HTML? Czy może być to VARCHAR(max)?

0

TEXT. A jak danych będzie dużo, to MEDIUMTEXT, lub LONGTEXT

0

jesli ms sql to nie text a jak wspomniales nvarchar(max)

http://msdn.microsoft.com/en-us/library/ms187993.aspx

0

W Firebird to może być BLOB. Może po prostu napisz z czego korzystasz, będzie łatwiej

0

Tak chodzi o ms sql ;)

A co polecicie zrobić aby przesłać html do kontrolera?

0

No skoro to tekst, to chyba string.

Piszesz jakiegoś CMSa, że kod HTML zapisujesz w bazie danych?

0

Nie po prostu praca dyplomowa to generowanie planu zajęć dla szkół.
Aplikacja za każdym razem generuje mi stos tabel z planami dla rożnych sal grup i nauczycieli, chciałbym to zapisać w bazie danych żeby później wyświetlić to ponownie.
Nie mam już czasu się zając zapisem tego do pdf bądź tworzyć specjalną strukturę tabel w bazie która pomoże mi to przechowywać.
Wystarczy mi po prostu zapisać kod html każdej tabeli i go wyświetlić, w dalszym rozwoju zrobię to bardziej dokładnie.

Wiem że kod powinien być w string'u jednak nie wiem jak to zrobić ab przesłać ten kod z widoku do generatora.
Widok pobiera dane z klasy i na podstawie tego drukuje we widoku różne tabele z różnymi planami chciałbym kod tych wszystkim tabelek przesłać do kontrolera z widoku.
Wszystkie tabelki mogą być w jednym stringu.

Może skoro wszystkie te tabelki są w jednym

pobrać poprzez js kod tego div'a i wkleić do inputa? Czy to będzie dobre rozwiązanie?</p>
0
jawka7 napisał(a):

Aplikacja za każdym razem generuje mi stos tabel z planami dla rożnych sal grup i nauczycieli, chciałbym to zapisać w bazie danych żeby później wyświetlić to ponownie.

Po co chcesz zapisywać layout do bazy danych?! Nie wystarczy zapisać samych danych, czyli godzin zajęć, numerów sal i nauczycieli?

Może skoro wszystkie te tabelki są w jednym

pobrać poprzez js kod tego div'a i wkleić do inputa? Czy to będzie dobre rozwiązanie?</p>

Ale po co do inputa?
Bierzesz diva, robisz z niego stringa, pakujesz go do JSONa, i wysyłasz do akcji kontrolera, czyli na jakiś konkretny URL. Jeśli używasz jQuery to jest to dość proste, coś w rodzaju:

$.ajax({
    dataType: "json",
    type: 'DELETE',
    url: '@Url.Action("Save")',
    data: { content: "tutaj dane do kontrolera" },
    success: function (result) {
        alert("Zapisano!");
    }
});
0

No wiem że można tak zapisać jednak jak napisałem że tymczasowo muszę zrobić to na szybko a później plany będą zapisywane w plikach pdf więc nie chce niepotrzebnie rozbudowywać kod i bazę.

Pomyślałem o JSON jednak nie miałem okazji skorzystać z tej techniki i nie wiem jak dokładnie działa,
skoro już wyszło to od ciebie to wiem że tak można zrobić i postaram się zagłębić w to bardziej.

Dzięki wielkie ;)

0
jawka7 napisał(a):

No wiem że można tak zapisać jednak jak napisałem że tymczasowo muszę zrobić to na szybko a później plany będą zapisywane w plikach pdf więc nie chce niepotrzebnie rozbudowywać kod i bazę.

Tak czy siak, uważam, że dane powinieneś trzymać w bazie, a na żądanie użytkownika transformować je do wyjściowego formatu (czy to pdf, czy tabela HTML).

1 użytkowników online, w tym zalogowanych: 0, gości: 1