Jak vytvořit přizpůsobené stránky vyhledávací index server pomocí ASP v Expression Web

Překlady článku Překlady článku
ID článku: 928700 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Úvod

Tento článek popisuje vytvoření přizpůsobené stránky vyhledávací index server pomocí Active Server Pages (ASP) v Microsoft Expression Web.

Další informace

Krok 1: Instalace Microsoft ASP.NET

Před použitím funkce ASP v Expression Web musíte nainstalovat ASP.NET. Další informace o instalaci ASP.NET klepněte na následující číslo článku databáze Microsoft Knowledge Base:
928710Jak nainstalovat ASP.NET použít funkce Active Server Pages (ASP) Expression Web

Krok 2: Přidání stránky formuláře v Expression Web

  1. Spusťte Expression Web a potom otevřete web, pro které chcete vytvořit vyhledávací stránku.
  2. V nabídce soubor přejděte na příkaz Nový, klepněte na stránku a potom klepněte na tlačítko OK.
  3. V nabídce Vložit přejděte na HTML a potom klepněte na tlačítko Další značky HTML.
  4. V pravém podokně rozbalte Form Controls a poklepejte na Vstupní (text), poklepejte na Rozevírací pole a potom poklepejte na Vstupní (Odeslat).
  5. Na webové stránce poklepejte na textové pole, které jste vložili v kroku 4.
  6. V dialogovém okně Vlastnosti textového pole zadejte QUERYTEXT v poli název.
  7. Do pole Počáteční hodnota zadejte <%=Request("QUERYTEXT")%> a potom klepněte na tlačítko OK.
  8. Na webové stránce poklepejte na rozevírací pole, které jste vložili v kroku 4.
  9. V dialogovém Přímá dolů pole vlastnosti zadejte v poli názevQUERYFIELD.
  10. Klepněte na tlačítko Přidat a poté zadejte do pole VolbaDocAppName.
  11. Klepnutím zrušte zaškrtnutí políčka Určení hodnoty a potom klepněte na tlačítko OK.
  12. Opakujte kroky 10 a 11 přidejte následující položky nabídky:
    • Characterization
    • Název_souboru
    • DocAuthor
    • DocTitle
  13. Klepněte na tlačítko OK
  14. Klepněte pravým tlačítkem myši na tlačítko Odeslat a potom klepněte na příkaz Vlastnosti formuláře.
  15. Klepněte na tlačítko Odeslat jinam a klepněte na příkaz Možnosti.
  16. V poli Akce zadejte <%=Request.ServerVariables("URL")%> a potom dvakrát klepněte na tlačítko OK.
  17. V nabídce soubor klepněte na tlačítko Uložit.
  18. V poli název souboru zadejte IndexServerTest.asp a potom klepněte na tlačítko Uložit.

Krok 3: Přidání ukázkový kód ASP na stránku

Poznámka:Pokud vložte ukázkový kód z tohoto článku do Expression Web, můžete obdržet chybovou zprávu. Výraz web může misinterpret lomených závorek (<). Toto chování obejít, vložte ukázkový kód do prázdného dokumentu programu Poznámkový blok. Potom zkopírujte kód v poznámkovém bloku a vložit jej do Expression Web.
  1. Ve stavovém řádku v pravém podokně klepněte na příkaz Kód přepnutí do zobrazení HTML.
  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. Zadejte nebo vložte následující kód po uzavírací značku:
    ' 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. V nabídce soubor klepněte na tlačítko Uložit.

Krok 4: Testování ukázkové stránky ASP

  1. Spusťte Expression Web a otevřete stránku IndexServerTest.asp.
  2. V nabídce soubor přejděte na položku Náhled v prohlížeči a klepněte na tlačítko prohlížeč, který chcete použít.
  3. Do textového pole zadejte kritéria hledání. V seznamu klepněte na pole, které chcete dotaz.
  4. Klepněte na položku Odeslat. Výsledky, které odpovídají dotazu se zobrazí v tabulce na stránce.

Krok 5: Vlastní ukázkové stránky ASP

Přizpůsobit stránku ASP ukázkové použít některou z následujících metod.

Metoda 1: Změňte katalogu

Více katalogů Index Server jsou definovány na webovém serveru, můžete konfigurovat ukázkovou stránku použít jiný katalog. Postupujte takto:
  1. Spusťte Expression Web a potom otevřít ukázkový ASP stránky, který jste vytvořili dříve v tomto článku.
  2. Tlačítko Kód přepnutí do zobrazení HTML.
  3. Vyhledejte následující řádek kódu:
    Const strDataSource = "WEB"
  4. Změnit hodnotu proměnné strDataSource název katalogu. Například řádek bude vypadat následující kód:
    Const strDataSource = My_Custom_Catalog
  5. V nabídce soubor klepněte na tlačítko Uložit a zavřít soubor.

Metoda 2: Změna seznamu pole

  1. Spusťte Expression Web a otevřete ukázkový webové stránky vytvořené dříve v tomto článku.
  2. Tlačítko Kód přepnutí do zobrazení HTML.
  3. Vyhledejte řádek kódu, která se podobá následující kód:
    Const strDisplayFields = "Rank, DocAuthor, DocAppName"
  4. Změnit seznam hodnot. Každý název pole oddělte čárkou. Například řádek bude vypadat následující kód:
    Const strDisplayFields = "Rank, DocAuthor, DocAppName, DocTitle"
  5. V nabídce soubor klepněte na tlačítko Uložit a zavřít soubor.
V následující tabulce jsou uvedeny hodnoty, které lze použít pro proměnnou strDisplayFields.
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název poleTyp polePopis
aplikaci AccessDatum a časČas posledního přístupu k souboru byl
CharacterizationText/StringCharacterization nebo abstraktní dokumentu jako vypočítanou Index Server
CreateDatum a časČas byl soubor vytvořen
AdresářText/StringFyzická cesta souboru není včetně názvu souboru
DocAppNameText/StringNázev aplikace, která soubor vytvořila
DocAuthor Text/StringAutor dokumentu
DocByteCountNumerické Počet bajtů v dokumentu
DocCategoryText/StringTyp dokumentu, například typu memo, plán nebo white paper
DocCharPočet numericPočet znaků v dokumentu
DocCommentsText/StringKomentáře o dokumentu
DocCompanyText/StringNázev společnosti, pro které byl dokument napsán
DocCreatedTmDatum a časČas vytvoření dokumentu
DocEditTimeDatum a časCelkový čas strávený byl úpravy dokumentu
DocHiddenCountNumerickéPočet skrytých snímků v prezentaci aplikace Microsoft PowerPoint
DocKeywordsText/StringKlíčová slova dokumentu
DocLastAuthorText/StringPoslední uživatel upravovat dokument
DocLastPrintedDatum a časČas posledního tisku dokumentu
DocLastSavedTmDatum a čas Čas posledního uložení dokumentu
DocLineCountNumerickéPočet řádků obsažených v dokumentu
DocManagerText/StringNázev správce Autor v dokumentu
DocNoteCountNumerickéPočet stránek, které mají poznámek v prezentaci aplikace PowerPoint
DocPageCountNumerickéPočet stránek v dokumentu
DocParaCountNumerickéPočet odstavců v dokumentu
DocPartTitlesText/StringNázvy částí dokumentu. Tabulky je v aplikaci Microsoft Excel část dokumentu. V aplikaci PowerPoint je snímek částí dokumentu. Názvy souborů dokumentů, které jsou obsaženy v hlavním dokumentu v aplikaci Word jsou částí dokumentu.
DocPresentationTargetText/StringCílový formát (například 35 mm, tiskárna nebo video) pro prezentaci aplikace PowerPoint
DocRevNumberText/StringČíslo aktuální verze dokumentu
DocSlideCountNumerickéPočet snímků v prezentaci aplikace PowerPoint
DocSubjectText/StringPředmět dokumentu
DocTemplateText/StringNázev šablony dokumentu
DocTitleText/StringNadpis dokumentu
DocWordCountNumerickéPočet slov v dokumentu
FileIndexNumerickéJedinečný IDENTIFIKÁTOR souboru
NÁZEV SOUBORUText/StringNázev souboru
HitCountNumerickéPočet přístupů nebo slova, které odpovídají dotazu v souboru
CestaText/StringÚplná fyzická cesta souboru včetně názvu souboru
PořadíNumerickéPořadí řádku. Tuto hodnotu rozsahu od 0 do 1000. Větší čísla označují lepší shody.
ShortFileNameText/StringKrátký (8.3) název
VelikostNumerickéVelikost souboru v bajtech
VPathText/StringÚplnou virtuální cestu souboru včetně názvu souboru. Pokud je více než jednu možnou cestu, je zvolen nejvhodnější pro konkrétní dotaz.
ZapisovatDatum a časČas poslední soubor byl zapsán

Odstraňování potíží

  • Pokud službu indexování není spuštěna, zobrazí se následující chybová zpráva:
    Zprostředkovatele Microsoft OLE DB pro indexování chyba '80041820 služba není spuštěna. / IndexServerTest.asp, řádek 44
    Chcete-li tento problém vyřešit, spusťte službu indexu.
  • Pokud zadáte katalogu není platný, zobrazí se chybová zpráva podobná následující chybová zpráva:
    Žádné katalogu je zprostředkovatele Microsoft OLE DB pro indexování chyba '8004181d' neexistují. / IndexServerTest.asp, řádek 44
    Chcete-li tento problém vyřešit, zkontrolujte hodnotu proměnné strDataSource. Pokud je správný, restartujte službu indexování.

Odkazy

Další informace o způsobu práce s Microsoft Windows 2000 Indexing Service klepněte na následující čísla následujících článcích databáze Microsoft Knowledge Base:
185985Pomocí serveru Index dotaz a zobrazit informace META TAG
256276Chybová zpráva: nenachází žádné katalogu
229282Zobrazit zdroj stránku výsledků Index Server je zobrazen kód ASP

Vlastnosti

ID článku: 928700 - Poslední aktualizace: 11. prosince 2006 - Revize: 1.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Expression Web
Klíčová slova: 
kbmt kbexpertiseinter kbhowto KB928700 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:928700

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com