我做了一个Active Server Page。它运行在一个门厅显示器上。 ASP正在该显示器上显示会议。我将显示会议限制为10.显示屏一次可以显示5-6个会议。我想要的是,如果显示器充满前6次会议,显示器应“更改”到显示最后4次会议的第二页。这应该每10秒发生一次。前6个会议10秒,4个会议10秒等等。我怎样才能做到这一点?
我的代码到目前为止:
<table cellpadding="0" style="table-layout:fixed;width:800px;">
<tr height="15"> <td colspan="6" class="underline"></td> </tr>
<colgroup>
<col style="width:830px" >
</colgroup>
<tr><td> </td></tr>
</table>
<table cellpadding="0" border = "1" style="background-color:white; dotted black;border-collapse:collapse;table-layout:fixed;width:1270px;">
<colgroup>
<col style="width:445px" >
<col style="width:275px" >
<col style="width:125px" >
<col style="width:125px" >
<col style="width:150px" >
<col style="width:150px" >
</colgroup>
<br></br>
<tr style="background-color:blue; height="50">
<th align="left">Seminartitel</th>
<th align="left">Zusatz-Info</th>
<th align="absmiddle">von</th>
<th align="absmiddle">bis</th>
<th align="absmiddle">Gebäude</th>
<th align="absmiddle">Raum</th>
</tr>
<%
set rs=Server.CreateObject("ADODB.recordset")
set rsRaum=Server.CreateObject("ADODB.recordset")
rs.Open "select distinct buchung_id, von, bis, abteilung, veranstalter, THEMA, THEMA_ENABLED " & _
" from RESERVIERUNGRAUM r " & _
" ,BUCHUNG b " & _
" where r.BUCHUNG_ID = b.ID " & _
" and von >= convert(date, getdate(), 4) " & _
" and von < convert(date, dateadd(day,1, GETDATE()), 4) " & _
" and BIS >= getdate() " & _
" and STORNO is null " & _
" order by von, bis" _
,objConn
' Anzahl der darzustellenden Veranstaltungs-Zeilen
lineMax = 10
lineCount = 1
color = "color1"
do until rs.EOF
' Buchungen anzeigen oder nicht
rsRaum.open "select DISPLAY_ENABLED from Buchung where ID = " & rs("buchung_id"), objConn
displayanzeige = rsRaum("DISPLAY_ENABLED")
rsRaum.close
' Hole für lfd. Buchung aus erster Reservierung Raum ID und Indikator für Kopplung
rsRaum.open "select raum_id, KOPPELBESTUHLUNG_ID from RESERVIERUNGRAUM where buchung_id = " & rs("buchung_id"), objConn
raum_id = rsRaum("raum_id")
KOPPELBESTUHLUNG_ID = rsRaum("KOPPELBESTUHLUNG_ID")
rsRaum.close
'Gebäude
rsRaum.open "select distinct g.BEZEICHNUNG " & _
"from GEBAEUDE g, ETAGE e, RAUM r " & _
"Where g.ID = e.GEBAEUDE_ID and e.GEBAEUDE_ID = r.GEBAEUDE_ID and r.ID = " & raum_id, objConn
GebaeudeBezeichnung = rsRaum("BEZEICHNUNG")
rsRaum.close
'Hole Terminal Hinweistext
rsRaum.open "select KSTR from Buchung where ID = " & rs("buchung_id"), objConn
Hinweistext = rsRaum("KSTR")
rsRaum.close
' falls Kopplung, hole ID des "Parent"-Raumes
if not isNull( KOPPELBESTUHLUNG_ID ) then
rsRaum.open "select parent_id from KOPPELN where CHILD_ID = " & raum_id, objConn
if not rsRaum.EOF then
raum_id = rsRaum("parent_id")
end if
rsRaum.close
end if
' hole Raum Details
rsRaum.open "select bezeichnung from Raum where ID = " & raum_id, objConn
raumname = rsRaum("bezeichnung")
rsRaum.close
' Beende, falls Display voll
If lineCount > lineMax Then
exit do
End If
' optionale Unterdrückung der Titelanzeige
if ucase( rs("thema_enabled") ) = "Y" or isnull(rs("thema_enabled")) then
thema = rs("thema")
else
thema = ""
end if
if ucase(displayanzeige) = "Y" or isnull(displayanzeige) then
%>
<tr "margin-bottom:100px" height="70" valign="top">
<td style="overflow:hidden;" class="<% =color%>"><% =thema %></td>
<td class="<% =color%>"><% =Hinweistext %></td>
<td align="center"; class="<% =color%>"><% =FormatDateTime( rs("von"), 4)%></td>
<td align="center"; class="<% =color%>"><% =FormatDateTime( rs("bis"), 4) %></td>
<td align="center"; class="<% =color%>"><% =GebaeudeBezeichnung %><br></td>
<td align="center"; class="<% =color%>"><% =raumname %><br></td>
</tr>
<%
' jede zweite Zeile mit anderer Schriftfarbe
If lineCount mod 2 = 1 Then
color = "color2"
Else
color = "color1"
End If
lineCount = lineCount + 1
end if
rs.moveNext
loop
rs.close
%>
如何修改我的代码?
答案 0 :(得分:1)
创建一个重复的页面,并将参数(GET
或POST
)从当前页面传递给RemainingItems
。 RemainingItems
此处为4,并将当前页面更改为:
If lineCount > lineMax Then
待:
If lineCount > firstPageItems Then
明显:
lineMax = firstPageItems + RemainingItems
要在页面间切换,请在特定的时间间隔内在两个页面上使用JavaScript计时器。经过一段时间后,将客户端重定向到另一个页面(每个页面都知道另一个页面的地址)。
可以在一个页面中完成所有工作,但由于需要更多的工作,根据问题我建议这个。