0

我已经完成了一个 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 
%>

如何修改我的代码?

4

1 回答 1

1

创建一个重复页面并将参数(GETPOST)传递给它,就像RemainingItems从当前页面一样。RemainingItems这里是 4 并将当前页面更改如下:

If lineCount > lineMax Then

成为:

If lineCount > firstPageItems Then

明显地:

lineMax = firstPageItems + RemainingItems

对于页面之间的切换,在特定的时间间隔内,您应该在两个页面上都使用 JavaScript 计时器。经过一段时间后,将客户端重定向到另一个页面(每个页面都知道另一个页面的地址)。

可以在一页中完成所有工作,但由于它需要更多的工作,根据问题我建议这个。

于 2012-11-06T21:34:31.253 回答