4 messaggi dal 17 novembre 2004
come posso inviare il contenuto dinamico di una tabella utilizzando cdosys?
Ho cercato in qualsiasi tutorial ma non vi è traccia di come fare.
Grazie
324 messaggi dal 20 settembre 2001
www.iromtek.com
uhm se spiegassi meglio :o

cmq se è quello che ho capito devi mettere le var come fai nei response.write

"Il problema delle persone è che cercano negli altri qualità che questi non posseggono mentre dovrebbero apprezzare ed esaltare le qualità che gli altri realmente posseggono"
593 messaggi dal 09 ottobre 2002
www.dotnetside.org
Si pò fare avendo a disposizione l'oggetto XMLHTTP

Ovviamente devi disporre di una pagina ASP che si occupi di generare l'output della query.

Dopo di che l'hai creata:
<%
Dim objMail, objXMLHTTP
'
SET objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP") 
objXMLHTTP.Open "GET", "http://www.nomedominio.ext/file_da-spedire.asp?X=valX&Y=valY&Z=valZ", false 
objXMLHTTP.SetRequestHeader "Content-type", "text/html" 
objXMLHTTP.Send 
'
SET objMail = Server.CreateObject("CDO.Message")
'
objMail.To = "email_destinatario"
objMail.From = "Email_mittente"
objMail.Subject = "soggetto_messaggio"
objMail.HTMLBody = objXMLHTTP.ResponseText
objMail.Send 
'
SET objMail = Nothing
'
SET objXMLHTTP = Nothing
%>

In questo modo, generi l'output html della pagina indicata nella proprietà del metodo .Open dell'oggetto XMLHTTP, che, al variare dei paramatri che passerai in querystring necessari a impostare le query, si comporrà in maniera dinamica.

Dopo aver recuperato l'output della pagina così generata nella variabile temporanea objXMLHTTP.ResponseText la passi al metodo .Send dell'oggetto CDO.

Tutto qua.

P.S.: Accertati però che nella pagina HTML tutti i collegamenti per i tag A IMG etc siano impostati in modo assoluto (esempio http://www.nomwedominio.ext/immagine.jpg) e non in modo relativo come solito fare nel codice HTML
Modificato da vitosulla il 18 novembre 2004 17.40 -

Pochi post. Anzi, quasi quasi spengo
http://www.dotnetside.org/
4 messaggi dal 17 novembre 2004
Ho provato a fare come mi hai detto e la pagina mi arriva nella posta ma è priva del contenuto dinamico.

HO sbagliato qualcosa??
593 messaggi dal 09 ottobre 2002
www.dotnetside.org
Che intendi per contenuto dinamico?

She hai una query che per restituire un resultset ha bisogno che le siano passati dei valori, devi passarglieli con querystring, come già detto precedentemente.

Inoltre, se nella pagina che devi recuperare, i valori vengono recuperati mediante Request.Form("nome_campo"), devi modificare la modalità di recupero in Request("nome_parametro") in modo da generalizzarla per essere utile al recupero di parametri in POST ed in GET dato che, utilizzando la querystring, il metodo è appunto GET.

Ultima cosa:
Provando a mettere manualmente nella barra degli indirizzi l'indirizzo passato a objXMLHTTP.Open, la pagina si visualizza correttamente?

Prova ed eventualmente apporta le opportune modifiche.
Modificato da vitosulla il 18 novembre 2004 19.05 -

Pochi post. Anzi, quasi quasi spengo
http://www.dotnetside.org/
4 messaggi dal 17 novembre 2004
Ho provato ad inserire manualmente nella barra l'indirizzo e la pagina risulta senza dati.
Credo di aver capito che il problema è che la pagina in questione è un carrello della spesa, quindi lavora sulle sessioni. Ecco perchè al momento che la richiama il carrello risulta vuoto.

Questa è la tabella che devo inviare:

'Assegno ad una variabile la collezione dei campi
Set campi=rsArchidis.fields

riga=0

for k=0 to ubound(carrello,2)
NewTd="<TD align=center><input type=checkbox name=elimina value=" & campi("COD") & ">"
NewTd=NewTd & "<TD>" & campi("COD")
NewTd=NewTd & "<TD width=350>" & campi("AUTORE")& " - "& campi("TITOLO") & "</TD>"
NewTd=NewTd & "<TD>" & campi("SUP")
'NewTd=NewTd & "<TD align=center><input type=text size=3 name=qta value=" & carrello(1,k) & "></TD>"
totale=totale+campi("EUR")*carrello(1,k)
NewTd=NewTd & "<TD>" & formatCurrency(campi("EUR")*carrello(1,k)) & "</TD>"

NewRow="<TR>" & NewTd & "</TR>"
Response.write NewRow
rsArchidis.MoveNext
next

response.write "<TR><TD colspan=4 align=right><b>Totale(Spese di Trasporto Escluse):</b><TD><font color=red>" & formatCurrency(totale) & "<font><TD></TR>"

RsArchidis.Close
Set RsArchidis=nothing
%>






Ti prego aiutami, fino ad ora sei stato l'unico che mi ha dato qualche spunto.
593 messaggi dal 09 ottobre 2002
www.dotnetside.org
Purtroppo twins,

il tuo problema lo risolvi solo rivoluzionando la logica della tua applicazione.

Dovresti gestirti il carrello non mediante le variabili di sessione, come fai adesso, ma mediante una tabella di Database.

In questa maniera, facendo corrispondere i vari articoli inseriti al session.ID dell'utente, accedendo allo script, potresti interrogare la tabella riferendoti alle occorrenze di quel determinato session.ID (che invieresti in querystring dallo script di generazione email), e otterresti il resultset richiesto.

Ciao e buona notte (che, come si dice di solito, porta consiglio)

Pochi post. Anzi, quasi quasi spengo
http://www.dotnetside.org/
324 messaggi dal 20 settembre 2001
www.iromtek.com
Fatto con troppa fretta... però prova intanto così e vedi se l'invia.... ti dovrebbe inviare l'ultima riga della tabella... più tardi vedo di darci un'altra occhiata

fammi sapere
<% 
Dim objMail
SET objMail = Server.CreateObject("CDO.Message") 
' 
objMail.To = "email_destinatario" 
objMail.From = "Email_mittente" 
objMail.Subject = "soggetto_messaggio"

'Assegno ad una variabile la collezione dei campi 
Set campi=rsArchidis.fields 

riga=0 

for k=0 to ubound(carrello,2)

NewTd="<TD align=center><input type=checkbox name=elimina value=" & campi("COD") & ">" 
NewTd=NewTd & "<TD>" & campi("COD") 
NewTd=NewTd & "<TD width=350>" & campi("AUTORE")& " - "& campi("TITOLO") & "</TD>" 
NewTd=NewTd & "<TD>" & campi("SUP") 
'NewTd=NewTd & "<TD align=center><input type=text size=3 name=qta value=" & carrello(1,k) & "></TD>" 
totale=totale+campi("EUR")*carrello(1,k) 
NewTd=NewTd & "<TD>" & formatCurrency(campi("EUR")*carrello(1,k)) & "</TD>" 

NewRow="<TR>" & NewTd & "</TR>" 
Response.write NewRow 

objMail.HTMLBody = NewRow

rsArchidis.MoveNext 
next 

response.write "<TR><TD colspan=4 align=right><b>Totale(Spese di Trasporto Escluse):</b><TD><font color=red>" & formatCurrency(totale) & "<font><TD></TR>" 

RsArchidis.Close 
Set RsArchidis=nothing 



objMail.Send 
' 
SET objMail = Nothing 
' 
SET objXMLHTTP = Nothing 
%>


ciaps
Modificato da Sghillo il 19 novembre 2004 08.55 -

"Il problema delle persone è che cercano negli altri qualità che questi non posseggono mentre dovrebbero apprezzare ed esaltare le qualità che gli altri realmente posseggono"

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.