Mamy kilka encji domeny, które powinny być renderowane do formatu html, który pokazuje ich szczegóły w wyskakującym okienku.Renderowanie obiektów w języku C# na html
byłbym zadowolony, aby zrobić coś takiego:
Product product = new Product(...);
product.ToHtml(); // or: HtmlRenderer.Render(Product);
ale moim głównym problemem jest to, jak to zrobić rzeczy z tyłu. Mam 3 różne odpowiedzi:
1. Renderowanie za pomocą kodu:
mogę po prostu napisać kod dla renderowania HTML wewnątrz metody toHTML (C#) - problem jest to, że jest zbyt statyczne. jeśli chcesz nieco przesunąć nagłówek do środka, powinieneś zmienić kod. co więcej, bardzo trudno jest przeczytać wcięcie HTML w C#.
2. Korzystanie XSL:
XSL Pliki można łatwo zarządzać za pomocą szablonu HTML i XSLT można przekształcić plik XML we właściwym miejscu dokumentów. parser już napisany przez kogoś innego (po prostu trzeba się nauczyć składni) ** w tym celu będziemy potrzebować, aby każdy obiekt mógł przekształcić do postaci Xml. i jeśli obiekt się zmienił -> Xml zostanie zmieniony -> xslt również musi zostać zmieniony ** to również daje mi możliwość wcięcia html w prosty sposób, na przykład: dodawanie możliwości css i \ lub zmienianie projektu html
3. pomocą innego silnika szablon:
Napisz własną C# -> HTML szablonu silnika tak będzie odczytać szablon z pliku (* .template) i wstawić odpowiednią nieruchomość we właściwym miejscu szablon za pomocą refleksji. ** w tym rozwiązaniu mamy wiele problemów, które możemy wymyślić, na przykład: jak powinna wyglądać składnia? czy to jest ok? % Nazwa%% Opis% i jak możemy obsługiwać tablice? ** może możemy użyć istniejącego silnika (Brail lub T4-Templating)?
Co wolisz? czy znasz dobry silnik? na razie wolę drugie rozwiązanie, ale będzie bardzo wolno.
dzięki
ja nie pracuję w zespole internetowej, jestem renderowania obiektów-as-html i wysłać je do kogoś innego - który można wykorzystać to w WPF \ palma \ stronie internetowej lub innej technologii, więc myślę, że ascx nie jest dla mnie dobry. – rabashani
W takim przypadku możesz serializować go w formacie JSON i przesłać go innym użytkownikom, aby go użyć. – shahkalpesh
nadal nie jest wystarczająco dobry Chcę, aby wszyscy mieli ten sam interfejs użytkownika. nie obsługuje logiki renderowania samodzielnie. – rabashani