Debug pagine scritte in asp

sabato 15 dicembre 2007 - 21.18

radames Profilo | Newbie

Cari amici, spero tanto mi possiate aiutare...
come posso effettuare il debug di una pagina web scritta con asp?
mi serve xkè nn riesco bene a capire dove nn funzioni il mio tentativo di paginazione.
Io vi posto x intero il codice della pagina in questione:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../../conn.asp" -->
<%

Const adOpenForwardOnly = 0
Const adLockReadOnly = 1
Const adCmdTableDirect = &H0200
Const adUseClient = 3
'****************************************************************

Set rs_prod=Server.CreateObject("ADODB.Recordset")
'****************************************************************
rs_prod.PageSize=3
rs_prod.CacheSize=3
rs_prod.CursorLocation=adUseClient
'****************************************************************
'num_ann_x_pag=3
'***************************************************************


txtSql="SELECT * FROM Tb_prodotto ORDER BY Annata DESC"
'Response.End()
rs_prod.Open txtSql, cn, 1, 3

%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>I nostri Vini</title>
<link href="stylesheet_prova.css" type="text/css" rel="stylesheet" />
<script language="javascript" type="text/javascript">
function aprifinestra(cod)
{
window.open("scheda.asp?id="+cod+"","scheda_vino","width=600,height=400,left=100,scrollbars=yes")
}
</script>
</head>

<body>
<div id="container">
<div id="header">
<a href="../../../index.asp" title="home page"><!--#include file="../../../header.asp" --></a>
<div style="height:15px">
<img src="../../../img/separatore_white.jpg" alt="saparatore bianco" border="0" align="right" />
</div>
<span id="nav">
<ul>
<li>|<a href="../../../index.asp" title="home page"> Home page</a></li>
<li>|<a href="../../../dovesiamo.asp" title="dove siamo"> Dove Siamo </a></li>
<li>|<span style="color:#000000;background-color:#b6184b;text-decoration:underline"> Prodotti </span></li>
<li>|<a href="../../../contatti.asp" title="form di acquisto prodotti"> Contatti </a></li>
<!--<li>|<a href="#"> News </a></li>
<li>|<a href="#"> Links </a>|</li>-->
</ul>
</span>
<div style="float:right; padding-right:15px; color:#FCFCDA; font-size:12px; padding-bottom: 2px;">
<%=FormatDateTime(Date(),1)%> <!--&nbsp;&nbsp;&nbsp; Ora: <%'=Time()%>-->
</div>
</div>
<div id="content">
<div id="percorso">
Percorso: <a href="../../../vini.asp" >Prodotti</a>
</div>
<div id="col_sx">
<div id="search">
<!--#include file="../../../col_sx.asp" -->
</div>
<div id="foto">
<!--#include file="../../../foto_locale.asp" -->
</div>
</div>
<div id="col_dx">
<div class="scritta">
I nostri Vini:
</div>
<div id="elenco" style="padding-right:5px">
<%
fine=rs_prod.RecordCount


'*********************************************
'*****Ciclo x la determinazione dei cambi*****
'*********************************************
cambio=0
For i=1 to rs_prod.RecordCount
If rs_prod("IdProd")<>57 Then
primo=rs_prod("Annata")
rs_prod.MoveNext
secondo=rs_prod("Annata")
rs_prod.MovePrevious
If primo<>secondo Then
cambio=cambio+1
End If
End If
rs_prod.MoveNext
Next
'*********************************************
'******************Fine Ciclo*****************
'*********************************************

'***************************
'***Determinazione n° pag***
'***************************
rapport=cambio/rs_prod.PageSize
confr=int(rapport)
If confr<rapport Then
num_pag=confr+1
else
num_pag=confr
End If
'***************************
'****Fine determinazione****
'***************************


'******************************************************
'*******blocco x le variabi abspage e pagecnt**********
'******************************************************

If Len(Request.QueryString("pagenum")) = 0 Then
rs_prod.AbsolutePage = 1
'Response.Write("valore di rs_AbsolutePage con Len=0: "&rs_prod.AbsolutePage&"<br>")
Else
If CInt(Request.QueryString("pagenum")) <= num_pag Then
rs_prod.AbsolutePage = Request.QueryString("pagenum")
'Response.Write("valore di rs_AbsolutePage con Len<>0 e pagenum<=num_pag: "&rs_prod.AbsolutePage&"<br>")
Else
rs_prod.AbsolutePage = 1
'Response.Write("valore di rs_AbsolutePage con Len<>0 e pagenum>num_pag: "&rs_prod.AbsolutePage&"<br>")
End If
End If

Response.Write("valore di rs_prod.AbsolutePage:"&rs_prod.AbsolutePage&"<br>")
If rs_prod.AbsolutePage=1 Then
'Response.Write("valore di ''rs_prod.Bookmark'': "&rs_prod.Bookmark&"<br>")
rs_prod.movefirst
bk_mark=1
else
'Response.Write("valore di ''bkmrk'': "&Request.QueryString("bkmrk")&"<br>")
bk_mark=Request.QueryString("bkmrk")-1
'Response.Write("<br>valore di bk_mark: "&bk_mark&"<br>")
rs_prod.movefirst
For i=1 to bk_mark
'Response.Write("valore di <b>rs_prod.bookmark</b> prima del ciclo dell'elenco dei prodotti della "&Request.QueryString("pagenum")&"^ pagina al "&i&"° passaggio: "&rs_prod.Bookmark&"<br>")
rs_prod.movenext
Next
End If



abspage = rs_prod.AbsolutePage
pagecnt = num_pag
'******************************************************
'**********************Fine Blocco*********************
'******************************************************
k=1
cont=0
modif=0
'Response.Write("valore di num_pag: "&num_pag&"<br>")
Response.Write("<br><br>")
Response.Write("valore di <b>rs_prod.bookmark</b> prima del ciclo dell'elenco dei prodotti della "&rs_prod.AbsolutePage&"^ pagina:"&rs_prod.Bookmark&"<br>")
Response.Write("valore di <em>rs_bkmark</em> prima del ciclo dell'elenco dei prodotti della "&rs_prod.AbsolutePage&"^ pagina:"&rs_bkmark&"<br>")
Response.Write("valore di bkmrk prima del ciclo dell'elenco dei prodotti della "&rs_prod.AbsolutePage&"^ pagina: "& Request.QueryString("bkmrk") &"<br>")

'Do While Not rs_prod.EOF
Do While cont<=num_pag
'For k=0 to rs_prod.PageSize
If rs_prod("IdProd")<>57 Then
'Response.Write("valore di 'ann': "&ann&"<br>")
If Not rs_prod.EOF Then

rs_prod.MoveNext
ann1=rs_prod("annata")
rs_prod.MovePrevious
If rs_prod("Annata")<>ann1 Then
cont=cont+1
End If
End If

If ann<>rs_prod("Annata") Then
'Response.Write("<br><br>")
modif=modif+1
ann=rs_prod("Annata")

'If cont>num_ann_x_pag Then
' Response.Write("valore di Absolute position: "&rs_prod.AbsolutePosition&"<br>")
' cont=cont-1
' Exit For
' End If
%>
<div class="scrittannata">
<label>
Annata:
</label>
<span style="color: #990033"><b>
<%=ann%>
</b></span>
</div>
<%
'Response.Write("nuovo valore di 'ann': "&ann&"<br>")
End If

'Response.Write("valore di Absolute position: "&rs_prod.AbsolutePosition&"<br>")
'Response.Write("Valore di 'Annata' "&rs_prod("Annata")&" con 'ann' ke vale: "&ann&"<br>" )

'*************************************************
'**************Apertura della tabella foto********
'*************************************************
Set rs_foto=Server.CreateObject("ADODB.Recordset")
txtSql_foto="SELECT * FROM Tb_file WHERE IdProdt="&rs_prod("IdProd")
rs_foto.Open txtSql_foto, cn, 1, 3

If rs_foto.EOF Then
%>
<br />
<div class="riquadro">
<a href="#" class="link" onclick="aprifinestra(<%=rs_prod("IdProd")%>)" title="visualizza caratteristiche <%=rs_prod("NomeVino")%>">
<img src="../../../img/nofoto.jpg" border="0" alt="no foto di <%=UCase(rs_prod("NomeVino"))%>" /><br />
<%=Ucase(rs_prod("NomeVino"))%>
<br />
<%
Response.Write("valore di 'ann': "&ann&"<br>")
Response.Write("valore di 'ann1': "&ann1&"<br>")
Response.Write("valore di rs_prod('Annata'): "&rs_prod("Annata")&" del record "&rs_prod.AbsolutePosition&"<br>")
Response.Write("valore di cont: "&cont&" al "&k&" passaggio <br>")
Response.Write("valore di modif: "&modif&" al "&k&" passaggio <br>")
Response.Write("valore di <em>rs_prod.AbsolutePage</em> al "&k&" pasaggio: "&rs_prod.AbsolutePage&"<br>")
Response.Write("valore di num_pag: "&num_pag&"<br>")


'rs_bkmark=rs_prod.Bookmark

'Response.Write("valore di bookmark"&rs_bkmark&"<br>")
Response.Write("<br><br><br>")
%>
</a>
</div>
&nbsp;<br />
<br />
<%
Else
%>
<div class="riquadro">
<a href="#" class="link" onclick="aprifinestra(<%=rs_prod("IdProd")%>)" title="visualizza caratteristiche <%=rs_prod("NomeVino")%>">
<img src="<%=rs_foto("Path")%>" border="0" alt="<%=rs_foto("NomeFile")%>" /><br />
<%=Ucase(rs_prod("NomeVino"))%>
</a>
</div>
<%
End If
rs_foto.Close()
Set rs_foto=Nothing
'*************************************************
'**************Chiusura della tabella foto********
'*************************************************

rs_prod.movenext
k=k+1
'Response.Write("valore di k al "&k&" passaggio: "&k&"<br>")
End If
If bk_mark<>1 Then
Response.Write("<b><em>Bombarolo</em></b><br>")
Response.End()
End If
'Next
Loop
'Loop



' Response.Write("valore di bookmark alla fine del Loop: "&rs_bkmark&"<br>")
'Response.Write("Valore di AbsolutePosition alla fine del ciclo fino a pagesize:"& rs_prod.AbsolutePosition&"<br>")
'Response.Write("valore di cont:"&cont&"<br>")
'Response.End()
'Next

'If rs_prod.AbsolutePosition=1 Then
' ann=rs_prod("Annata")
' End If
' fine=rs_prod.RecordCount
'Response.Write("valore di recordcount: "&fine&"<br>")
Response.Write("<br><br><br>")
Response.Write("valore di <b>rs_prod.bookmark</b> alla fine del ciclo dell'elenco dei prodotti della "&rs_prod.AbsolutePage&"^ pagina:"&rs_prod.Bookmark&"<br>")
Response.Write("valore di <em>rs_bkmark</em> alla fine del ciclo dell'elenco dei prodotti della "&rs_prod.AbsolutePage&"^ pagina:"&rs_bkmark&"<br>")
Response.Write("valore di bkmrk alla fine del ciclo dell'elenco dei prodotti della "&rs_prod.AbsolutePage&"^ pagina: "& Request.QueryString("bkmrk") &"<br>")
%>


<div style="height:15px"></div>
<div id="menu_pag">
<%
If abspage=1 Then
%>
<span style="color:#666666;">&laquo;</span>
<%
Else
%>
<a href="<%=Request.ServerVariables("SCRIPT_NAME")%>?pagenum=1&amp;bkmrk=<%=rs_prod.Bookmark%>" title="first page">
<b>&laquo;</b>
</a>
<%
End If
Response.Write " | "
If abspage = 1 Then
%>
<span style="color:#666666;">&lsaquo;</span>
<%
else
indietro=abspage-1
%>
<a href="<%=Request.ServerVariables("SCRIPT_NAME")%>?pagenum=<%=indietro%>&amp;bkmrk=<%=rs_prod.Bookmark%>"title="previous page">
<b>&lsaquo;</b>
</a>
<%
End If
Response.Write " | "
%>
<!--elenco delle pagine -->
<%
For k=1 to num_pag
If abspage=k Then
%>
<span style="color:#990033; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; font-weight: bold;"><%=k%></span>
<%
else
%>
<a href="<%=Request.ServerVariables("SCRIPT_NAME")%>?pagenum=<%=k%>&amp;bkmrk=<%=rs_prod.Bookmark%>" title="page <%=k%>">
<b><%=k%></b>
</a>
<%
'Response.Write("valore di k: "&k&"<br>")
End If
Response.Write " | "
Next
%>
<!-- fine elenco pagine-->
<%
If abspage < pagecnt Then
avanti=abspage+1
%>
<a href="<%=Request.ServerVariables("SCRIPT_NAME")%>?pagenum=<%=avanti%>&amp;abkmrk=<%=rs_prod.Bookmark%>" title="next page">
<b>&rsaquo;</b>
</a>
<%
else
%>
<span style="color:#666666;"><b>&rsaquo;</b></span>
<%
End If
Response.Write " | "

If pagecnt=abspage Then
%>
<span style="color:#666666;"><b>&raquo;</b></span>
<%
Else
%>
<a href="<%=Request.ServerVariables("SCRIPT_NAME")%>?pagenum=<%=pagecnt%>&amp;bkmrk=<%=rs_prod.Bookmark%>" title="last page">
<b>&raquo;</b>
</a>
<%
End If
%>
</div>
</div>

</div>
</div>
<div id="footer">
</div>
</div>
</body>
</html>


La questione è ke "girando" pagina nn mi continua da dove si interrompe..
il fatto è ke x il mio caso nn mi posso basare sul "PageSize" xkè la paginazione in questo caso nn si deve interrompere ogni tot records x pagina ma ogni tot "annate" x pagina (è un elenco di vini classificati x annata) e un'annata può essere associata a 1 o + records x cui...
Spero mi possiate aiutare..
Grazie tante
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5