Mam aplikację C#/.NET, która obecnie używa StringBuilder do generowania wiadomości e-mail HTML.Jak dołączyć dokument HTML do aplikacji .NET z polami zmiennymi?
Nowy format wiadomości został opracowany i zawiera teraz więcej formatowania i CSS. Chciałbym uniknąć dołączania każdej linii pliku za pomocą StringBuilder, więc pomyślałem, że najlepiej jest dołączyć plik HTML jako zasób.
Jednak istnieje około 21 zmiennych w CSS i HTML, które muszę zmienić w locie. Moją pierwszą myślą było zastąpienie ich standardowymi obiektami zastępczymi String.Format ({0}, {1} itp.), Ale podczas przeglądania HTML walidacja narzeka na te.
Jestem raczej zaskoczony, jeśli chodzi o przechowywanie 200-liniowego pliku HTML i zmienianie jego części przed umieszczeniem go w wiadomości e-mail.
Przykład:
W CSS, muszę zmienić kolor niektórych elementów, takich jak to:
#header
{
background-color: {0};
}
I w HTML, muszę zmienić struny i adresy URL, na przykład:
<img src="{1}" />
<span>{2}</span>
wydaje tym HTML jako zasób w projekcie byłoby najlepsze, ale próbuje użyć String.Format z tego zasobu, niezależnie od tego czy będzie to działało, to słaba metoda becaus e wyżej wymienionych błędów walidacji.
Wszelkie sugestie?
Dlaczego problem polega na tym, że sprawdzanie poprawności kończy się niepowodzeniem w "szablonie HTML" przed zastąpieniem symboli zastępczych? IMHO jedyną ważną rzeczą jest to, że sprawdza się poprawnie PO zastąpieniu symboli zastępczych pewną zawartością! – Yahia
Potem musisz pamiętać, co znaczy co. I musisz zachować spójność argumentów. Użyj wymiennych tokenów, takich jak <% token_name%> i stwórz prostą metodę find-replace, aby zastąpić tokeny z jakiegoś słownika. –
To pytanie jest jak róża w przepełnieniu stosu pełnym chwastów. Mam nadzieję, że dostanie odpowiedź. –