DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 928700 - Geändert am: Montag, 11. Dezember 2006 - Version: 1.0

 

Auf dieser Seite

EINFÜHRUNG

Dieser Artikel beschreibt eine angepasste Index Server-Suchseite mithilfe von Active Server Pages (ASP) in Microsoft Expression Web erstellen.

Weitere Informationen

Schritt 1: Installieren von Microsoft ASP.NET

Bevor Sie die ASP-Funktionen in Expression Web verwenden können, müssen Sie ASP.NET installieren. Weitere Informationen zum Installieren von ASP.NET finden Sie im folgenden Artikel der Microsoft Knowledge Base:
928710  (http://support.microsoft.com/kb/928710/ ) Zum Installieren von ASP.NET die Active Server Pages (ASP)-Features in Expression Web verwenden

Schritt 2: Hinzufügen einer Formularseite in Expression Web

  1. Starten Sie Expression Web, und öffnen Sie anschließend die Website für die Sie eine Suchseite erstellen möchten.
  2. Im Menü Datei auf neu zeigen Sie, klicken Sie auf Seite und klicken Sie dann auf OK .
  3. Zeigen Sie im Menü Einfügen auf HTML , und klicken Sie dann auf Weitere HTML-Tags .
  4. Erweitern Sie im rechten Bereich Formularsteuerelemente , und doppelklicken Sie dann auf Input (Text) , doppelklicken Sie auf Dropdown-Feld und doppelklicken Sie dann auf Input (Submit) .
  5. Doppelklicken Sie auf der Webseite auf das Textfeld, das Sie in Schritt 4 eingefügt.
  6. Geben Sie QUERYTEXT im Feld Name klicken Sie im Dialogfeld Textfeldeigenschaften .
  7. Geben Sie im Feld Anfangswert <%=Request("QUERYTEXT")%>, und klicken Sie dann auf OK .
  8. Doppelklicken Sie auf der Webseite auf das Dropdown-Feld, das Sie in Schritt 4 eingefügt.
  9. Geben Sie QUERYFIELD im Feld Name klicken Sie im Dialogfeld Löschen unten Eigenschaften .
  10. Klicken Sie auf Hinzufügen , und geben Sie dann im Feld Auswahl DocAppName .
  11. Deaktivieren Sie das Kontrollkästchen Wert angeben , und klicken Sie dann auf OK .
  12. Wiederholen Sie die Schritte 10 und 11, um die folgenden Menüelemente hinzufügen:
    • Characterization
    • Dateiname
    • DocAuthor
    • DocTitle
  13. Klicken Sie auf OK
  14. Klicken Sie mit der rechten Maustaste auf Senden , und klicken Sie dann auf Formulareigenschaften .
  15. Klicken Sie auf anderer , und klicken Sie dann auf Optionen .
  16. Geben Sie im Feld Aktion <%=Request.ServerVariables("URL")%>, und klicken Sie dann zweimal auf OK .
  17. Klicken Sie im Menü Datei auf Speichern .
  18. Geben Sie in das Feld Dateiname IndexServerTest.asp und klicken Sie dann auf Speichern .

Schritt 3: ASP-Beispielcode zur Seite hinzufügen

Hinweis: Möglicherweise wird eine Fehlermeldung angezeigt, wenn Sie den Beispielcode aus diesem Artikel in Expression Web einfügen. Expression Web kann die spitzen Klammern (<) falsch interpretiert. Um dieses Verhalten zu umgehen, fügen Sie den Beispielcode in ein leeres Editor-Dokument. Kopieren Sie anschließend den Code im Editor, und fügen Sie dann in Expression Web.
  1. Klicken Sie in der Statusleiste im rechten Bereich auf Code , um in der HTML-Ansicht zu wechseln.
  2. Type or paste the following code before the opening HTML tag:
    <%
      ' Force variable declaration.
      Option Explicit
    
      ' Declare all our variables.
      Dim strQueryText
      Dim strQueryField
      Dim strSQL
      Dim strName
      Dim strValue
      Dim objRS
      Dim objField
    
      ' This is the list of Index Server variables that will appear.
      ' You can customize the list of fields. For more information,
      ' see Microsoft Knowledge Base article 318387.
      Const strDisplayFields = "Rank, DocAuthor, DocAppName, DocTitle, FileName, Create, Access, Characterization, VPath"
    
      ' This is the default Index Server catalog for all Web content.
      ' For information about how to customize this, see Microsoft 
      ' Knowledge Base article 318387.
    
      Const strDataSource = "WEB"
    
      ' Get the value of the user-submitted search query.
      strQueryText = Request("QUERYTEXT")
      ' Set a default value if the user has not submitted anything.
      If Len(strQueryText) = 0 Then strQueryText = "%%"
    
      ' Get the field that the user wants to query against.
      strQueryField = Request("QUERYFIELD")
      ' Set a default value if the user has not specified a field.
      If Len(strQueryField) = 0 Then strQueryField = "DocTitle"
    %>
  3. Geben oder fügen Sie den folgenden Code hinter dem Endtag:
    ' Check if the user has entered a value in the form
    If strQueryText <> "%%" Then
    <%
      ' Build the SQL statement from the user-specified options.
      strSQL = "SELECT " & strDisplayFields & " FROM SCOPE() " & _
      	"WHERE ((" & strQueryField & " LIKE '%" & strQueryText & "%') AND " & _
      	"((VPath NOT LIKE '%/_vti%') AND (VPath NOT LIKE '%/_private%')))"
    
      ' Create a recordset object.
      Set objRS = Server.CreateObject("ADODB.Recordset")
    
      ' Open the recordset by using the SQL string with the Index Server provider.
      objRS.Open strSQL,"PROVIDER=MSIDXS;DATA SOURCE=" & strDataSource
    
      ' Are there any records to show?
      If objRS.EOF Then
    
        ' Show a default message if nothing is found.
        Response.Write "No Documents were Found." & vbCrLf  
    
      ' Otherwise...
      Else
    
        ' Start a table.
        Response.Write "<table border=""1"">" & vbCrLf
    
        ' Start the row for the header section.
        Response.Write "<tr>" & vbCrLf
        ' Loop through the fields collection.
        For Each objField in objRS.Fields
          ' Get the field's name.
          strName  = objField.Name
          ' If the field has a name, escape it for HTML.
          If Len(strName)  > 0 Then strName = Server.HTMLEncode(strName)
          ' Output the field name as a table header.
          Response.Write "<th>" & strName & "</th>" & vbCrLf
        Next
        ' End the row for the header section.
        Response.Write "</tr>" & vbCrLf   
    
        ' Loop through all the records.
        While Not objRS.EOF
          ' Start a row in the data section.
          Response.Write "<tr>" & vbCrLf
          ' Loop through the fields collection.
          For Each objField in objRS.Fields
            ' Get the field's value.
            strValue = objField.Value
            ' Look for null values.
            If Len(strValue) > 0 Then
              ' If the value is not null, escape it for HTML.
              strValue = Server.HTMLEncode(strValue)
            Else
              ' Otherwise, make it a non-breaking space character.
              strValue = "&#xa0;"
            End If
          ' Output the field value as table data.
            Response.Write "<td>" & strValue & "</td>" & vbCrLf
          Next
          ' End a row in the data section.
          Response.Write "</tr>" & vbCrLf
          ' Move on to the next record.
          objRS.MoveNext
         Wend
         Response.Write "</table>" & vbCrLf
      End If
    %>
    Else
    ' User has not entered any value in search form
        Response.Write "Please enter a Search Term before submitting the form" & vbCrLf
    End if
  4. Klicken Sie im Menü Datei auf Speichern .

Schritt 4: Testen der ASP-Beispielseite

  1. Starten Sie Expression Web, und öffnen Sie die IndexServerTest.asp-Seite.
  2. Im Menü Datei auf Browservorschau , und klicken Sie auf den Browser, den Sie verwenden möchten.
  3. Geben Sie im Textfeld Ihre Suchkriterien ein. Klicken Sie in der Liste auf das Feld, das Sie Abfragen möchten.
  4. Klicken Sie auf Senden . Sämtliche Ergebnisse, die Ihrer Abfrage entsprechen, werden auf der Seite in einer Tabelle angezeigt.

Schritt 5: Anpassen der ASP-Beispielseite

Verwenden Sie eine der folgenden Methoden, um die Beispiel-ASP-Seite anzupassen.

Methode 1: Ändern des Katalogs

Wenn mehrere Index Server-Kataloge auf dem Server definiert sind, können Sie die Beispielseite mit einen anderen Katalog konfigurieren. Gehen Sie hierzu folgendermaßen vor:
  1. Starten Sie Expression Web, und öffnen Sie dann das Beispiel ASP Seite weiter oben in diesem Artikel erstellten.
  2. Klicken Sie auf Code , um in HTML-Ansicht zu wechseln.
  3. Suchen Sie die folgende Codezeile:
    Const strDataSource = "WEB"
  4. Ändern Sie den Wert der Variablen StrDataSource in den Namen des Katalogs. Die Zeile wird z. B. den folgenden Code aussehen:
    Const strDataSource = My_Custom_Catalog
  5. Im Menü Datei klicken Sie auf Speichern und schließen Sie die Datei.

Methode 2: Ändern der Liste

  1. Starten Sie Expression Web, und öffnen Sie die Beispiel-Webseite, die Sie zuvor in diesem Artikel erstellt haben.
  2. Klicken Sie auf Code , um in HTML-Ansicht zu wechseln.
  3. Suchen Sie die Codezeile, die den folgenden Code ähnelt:
    Const strDisplayFields = "Rank, DocAuthor, DocAppName"
  4. Ändern Sie die Liste der Werte. Trennen Sie jeden Feldnamen durch ein Komma. Die Zeile wird z. B. den folgenden Code aussehen:
    Const strDisplayFields = "Rank, DocAuthor, DocAppName, DocTitle"
  5. Im Menü Datei klicken Sie auf Speichern und schließen Sie die Datei.
In der folgende Tabelle sind die Werte, die Sie für die Variable StrDisplayFields verwenden können, aufgeführt.
Tabelle minimierenTabelle vergrößern
Feldname Feldtyp Beschreibung
ZugriffDatum-UhrzeitDie letzte Zeit, die die Datei zugegriffen wurde
CharacterizationText-ZeichenfolgeCharacterization oder abstrakt, des Dokuments als von Index Server berechnet
ErstellenDatum-UhrzeitDie Uhrzeit, die zu die Datei erstellt wurde
VerzeichnisText-ZeichenfolgeDer physische Pfad der Datei, nicht einschließlich des Dateinamens
DocAppNameText-ZeichenfolgeDer Name der Anwendung, die die Datei erstellt
DocAuthor Text-ZeichenfolgeDer Autor des Dokuments
DocByteCountNumerische Die Anzahl der Bytes im Dokument
DocCategoryText-ZeichenfolgeDer Typ des Dokuments, z. B. ein Memo, Zeitplan oder Whitepaper
DocCharAnzahl ZahlenDie Anzahl der Zeichen im Dokument
DocCommentsText-ZeichenfolgeKommentare zum Dokument
DocCompanyText-ZeichenfolgeDer Name des Unternehmens für die das Dokument geschrieben wurde
DocCreatedTmDatum-UhrzeitDie Uhrzeit, die zu das Dokument erstellt wurde
DocEditTimeDatum-UhrzeitDie Gesamtzeit, die Bearbeitung des Dokuments verbracht wurde
DocHiddenCountNumerischeDie Anzahl der ausgeblendeten Folien in einer Microsoft PowerPoint-Präsentation
DocKeywordsText-ZeichenfolgeDer Dokument-Schlüsselwörter
DocLastAuthorText-ZeichenfolgeDer letzte Benutzer, der das Dokument bearbeitet
DocLastPrintedDatum-UhrzeitDie Zeit, die das Dokument zuletzt gedruckt wurde
DocLastSavedTmDatum-Uhrzeit Die Zeit, die das Dokument zuletzt gespeichert wurde
DocLineCountNumerischeDie Anzahl der Zeilen, die in einem Dokument enthalten sind
DocManagerText-ZeichenfolgeDer Name des Managers der Autor des Dokuments
DocNoteCountNumerischeDie Anzahl Seiten, die Notizen in einer PowerPoint-Präsentation
DocPageCountNumerischeDie Anzahl der Seiten im Dokument
DocParaCountNumerischeDie Anzahl der Absätze im Dokument
DocPartTitlesText-ZeichenfolgeDie Namen der Dokumentteile. Beispielsweise ist eine Kalkulationstabelle in Microsoft Excel ein Dokumententeil. In Microsoft PowerPoint ist eine Folie ein Dokumententeil. In Microsoft Word sind die Dateinamen der Dokumente, die in einem Zentraldokument enthaltenen Dokumentkomponenten.
DocPresentationTargetText-ZeichenfolgeDas Ziel-Format (z. B. 35 mm, Drucker oder Video) für eine PowerPoint-Präsentation
DocRevNumberText-ZeichenfolgeDie aktuelle Versionsnummer eines Dokuments
DocSlideCountNumerischeDie Anzahl der Folien in einer PowerPoint-Präsentation
DocSubjectText-ZeichenfolgeThema des Dokuments
DocTemplateText-ZeichenfolgeDer Name des der Vorlage für das Dokument
DocTitleText-ZeichenfolgeDer Titel des Dokuments
DocWordCountNumerischeDie Anzahl der Wörter im Dokument
FileIndexNumerischeDie eindeutige ID der Datei
DateinameText-ZeichenfolgeDer Name der Datei
HitCountNumerischeDie Anzahl der Zugriffe oder Wörter, die eine Abfrage in der Datei überein
PfadText-ZeichenfolgeDer vollständige physische Pfad der Datei, einschließlich des Dateinamens
RangNumerischeDer Rang der Zeile. Dieser Wert liegt zwischen 0 und 1000. Höhere Zahlen zeigen höhere Übereinstimmungen an.
ShortFileNameText-ZeichenfolgeDer short (8.3) Dateiname
GrößeNumerischeDie Größe der Datei in bytes
VPathText-ZeichenfolgeDer vollständige virtuelle Pfad der Datei, einschließlich des Dateinamens. Wenn mehr als ein möglicher Pfad vorhanden ist, wird die beste Übereinstimmung für die spezifische Abfrage ausgewählt.
SchreibenDatum-UhrzeitDer letzten, die die Datei geschrieben wurde

Problembehandlung

  • Wenn der Indexdienst nicht ausgeführt wird, erhalten Sie folgende Fehlermeldung:
    Microsoft OLE DB Provider für Indexing Service-Fehler '80041820' Service wird nicht ausgeführt. /IndexServerTest.asp, Zeile 44
    Starten Sie den Index Service, um dieses Problem zu umgehen.
  • Wenn Sie einen Katalog, der ungültig ist angeben, erhalten Sie eine Fehlermeldung ist etwa folgende Fehlermeldung:
    Microsoft OLE DB Provider für Indexing Service-Fehler '8004181d' Es ist kein Katalog vorhanden. /IndexServerTest.asp, Zeile 44
    Überprüfen Sie um dieses Problem zu beheben, den Wert der Variablen StrDataSource . Starten Sie Index Service neu, wenn dieser Wert korrekt ist.

Informationsquellen

Weitere Informationen zum Arbeiten mit Microsoft Windows 2000 Indexing Service finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
185985  (http://support.microsoft.com/kb/185985/ ) Mithilfe von Index Server Abfragen und Anzeigen von META-TAG-Informationen
256276  (http://support.microsoft.com/kb/256276/ ) Fehlermeldung: Es ist kein Katalog
229282  (http://support.microsoft.com/kb/229282/ ) ASP-Code ist sichtbar, wenn Sie Quelle für einen Index Server-Ergebnisseite anzeigen

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Expression Web
Keywords: 
kbmt kbexpertiseinter kbhowto KB928700 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 928700  (http://support.microsoft.com/kb/928700/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store
Folgen Sie uns: