¿Cómo editar el html de ASP de una mejor manera?

Hola, tengo un script ASP que necesito editar. En realidad, necesito cambiar el estilo del correo electrónico que envía, así que debo editar el HTML de este.

El problema es que el html (del archivo asp) tiene en cada fila

HTML = HTML & =" 

en él (más algunos otros cambios). Necesito tomar el código HTML de esa ASP, deshacerme del principio html = html part, editar el doble "" y convertirlos en uno solo (necesito hacerlo uno por uno, porque las variables también tienen comillas) ellos) .

Entonces, renuevo la página con HTML y después de eso necesito volver a convertirla para poder integrarla en ASP (básicamente, introducir el doble ” ‘de nuevo y esas cosas) .

Sí, podría editar el HTML directamente desde el ASP, pero no sé cómo se vería, porque no puedo ejecutar el script (necesita otros archivos del servidor, al que no tengo acceso) .

La pregunta:

¿Hay una mejor manera de hacer esto?

Una forma de previsualizar lo que estoy haciendo en ASP directamente. O tal vez una herramienta que me permita pasar de ASP HTML a HTML y regresar más rápido.

Sé que lo que estoy haciendo en este momento es bastante tonto, por lo que debe haber una mejor manera.

Puede crear un archivo de plantilla html con algunos marcadores de posición, leerlo, reemplazar los marcadores de posición y luego usarlo en su correo electrónico. Le ahorra tener que seguir jugando para construir el html usando variables. Esta respuesta anterior tiene más detalles sobre una posible solución (con ejemplos de código).

Como @ steve-holland menciona la creación de una plantilla, es una excelente manera de evitar todas las cadenas de HTML molestas en el código y facilita el cambio de diseños.

He trabajado en scripts de creación de plantillas HTML en el pasado, por lo general, construyo un Scripting.Dictionary que contiene los pares de valores clave que reemplazaré dentro de la plantilla.

 Function getHTMLTemplate(url, params) Dim stream, keys, html, idx Set stream = Server.CreateObject("ADODB.Stream") With stream .Type = adTypeText .Charset = "utf-8" Call .Open() Call .LoadFromFile(url) html = .ReadText(adReadAll) Call .Close() End With Set stream = Nothing keys = o_params.Keys For idx = 0 To UBound(keys, 1) html = Replace(html, keys(idx), params.Item(keys(idx))) Next Set keys = Nothing Set params = Nothing getHTMLTemplate = html End Function 

Uso:

 Dim params, html Set params = Server.CreateObject("Scripting.Dictionary") With params .Add("[html_title]", "Title Here") .Add("http://www.miximages.com/html/[html_logo]", "/images/logo.gif") '... and so on End With html = getHTMLTemplate(Server.MapPath("/templates/main.htm"), params) Call Response.Write(html) 

Ejemplo de estructura main.htm :

    [html_title]    
Company Name

¿Por qué usar un ADODB.Stream lugar de Scripting.FileSystemObject ?;

  1. Puede controlar la Charset del conjunto de Charset e incluso convertir de uno a otro si lo necesita.

  2. Si la plantilla es particularmente grande, puede transmitir el contenido utilizando el método Read() con un tamaño de búfer específico para mejorar el rendimiento de la lectura.