Expression Web ASP kullanarak, özelleştirilmiş bir dizin sunucusu arama sayfası oluşturma

Makale çevirileri Makale çevirileri
Makale numarası: 928700 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Giriş

Bu makalede, Microsoft Expression Web Active Server Pages (ASP) kullanarak, özelleştirilmiş bir dizin sunucusu arama sayfası oluşturma.

Daha fazla bilgi

1. Adım: Microsoft ASP.NET yükleme

ASP.NET, Expression Web'i ASP özelliklerini kullanabilmeniz için önce yüklemeniz gerekir. ASP.NET yükleme hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
928710Expression Web Active Server Pages (ASP) özelliklerini kullanmak için ASP.NET'i yüklemek nasıl kullanılır

2. Adım: Expression Web içinde bir form Sayfası Ekle

  1. Expression Web başlangıç ve arama sayfası oluşturmak kullanmak istediğiniz Web sitesini açın.
  2. Dosya menüsünden Yeni ' nin üzerine gelin, sayfa ' yı tıklatın ve sonra Tamam ' ı tıklatın.
  3. Ekle menüsünden HTML olarak işaretleyin ve Diğer HTML etiketi tıklatın.
  4. Sağ bölmede, Form denetimleri, genişletin ve sonra da <a1>Giriş</a1> (metin) çift tıklatın, Açılan kutu ' ni çift tıklatın ve sonra çift tıklatın Giriş (gönder).
  5. Web sayfasında, 4. adımda eklediğiniz metin kutusunu çift tıklatın.
  6. Metin kutusu özellikleri iletişim kutusunda, QUERYTEXTadı</a0> kutusuna yazın.
  7. Başlangıç değeri</a0> kutusunda <%=Request("QUERYTEXT")%> yazın... ve sonra Tamam ' ı tıklatın.
  8. Web sayfasında, 4. adımda eklediğiniz açılan kutuyu çift tıklatın.
  9. Alt aşağı kutusu özellikleri iletişim kutusunda, QUERYFIELDadı</a0> kutusuna yazın.
  10. Ekle ' yi tıklatın ve sonra da DocAppNameseçenek kutusuna yazın.
  11. Değeri belirt</a0> onay kutusunu temizlemek üzere tıklatın ve sonra Tamam ' ı tıklatın.
  12. 10 Ve 11, aşağıdaki menü öğelerini eklemek için adımları yineleyin:
    • Nitelemesi
    • Dosyaadı
    • DocAuthor
    • DocTitle
  13. Tamam ' ı tıklatın.
  14. Gönder düğmesini sağ tıklatın ve sonra Form özellikleri ' ni tıklatın.
  15. Diğer Gönder ' i tıklatın ve sonra Seçenekler ' i tıklatın.
  16. Eylem kutusuna <%=Request.ServerVariables("URL")%> yazın... ve sonra da iki kez Tamam ' ı tıklatın.
  17. Dosya menüsünde Kaydet ' i tıklatın.
  18. Dosya adı kutusuna IndexServerTest.asp yazın ve sonra da <a2>Kaydet</a2>'i tıklatın.

3. Adım: örnek ASP kodları sayfaya ekleyin.

NotExpression Web içinde bu makaledeki örnek kod yapıştırırsanız, bir hata iletisi alabilirsiniz. Ifade Web açılı ayraçlar (&lt;) misinterpret. Bu davranışa geçici bir çözüm bulmak için <a0></a0>, örnek kod, boş bir Not Defteri belgesine yapıştırın. Sonra kodu, Not Defteri'nde kopyalamak ve Expression Web'i yapıştırın.
  1. Sağdaki bölmede, <a1>Durum</a1> çubuğunda HTML görünümüne geçiş kodu ' ı tıklatın.
  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. Kapatma etiketinden sonra aşağıdaki kodu yapıştırın veya yazın:
    ' 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. Dosya menüsünde Kaydet ' i tıklatın.

Adım 4: örnek ASP sayfasını sınama

  1. Expression Web'ı başlatın ve sonra IndexServerTest.asp sayfayı açın.
  2. Dosya menüsünde, tarayıcı içinde önizleme ' ye gelin ve sonra da kullanmak istediğiniz tarayıcıyı tıklatın.
  3. Metin kutusuna, arama ölçütlerini yazın. Listede, sorgulamak istediğiniz alanı tıklatın.
  4. Gönder ' i tıklatın. Sorgunuzla eşleşen herhangi bir sonuç sayfasında bir tablo görüntülenir.

Adım 5: örnek ASP sayfasını Özelleştir

Örnek ASP sayfasını özelleştirmek için aşağıdaki yöntemlerden birini kullanın.

Yöntem 1: Katalog Değiştir

Birden fazla ındex Server Kataloğu, Web sunucusu üzerinde tanımlanıyorsa, farklı bir kataloğunu kullanmak için örnek sayfa yapılandırabilirsiniz. Bunu yapmak için şu adımları izleyin:
  1. Expression Web'ı başlatın ve ardından açık örnek ASP sayfasında bu makalenin önceki bölümlerinde oluşturduğunuz.
  2. Kod HTML görünüme geçmek için Ek Yardım düğmesini tıklatın.
  3. Aşağıdaki kod satırını bulun:
    Const strDataSource = "WEB"
  4. StrDataSource değişken değeri için kataloğunuzu adını değiştirin. Örneğin, aşağıdaki kod satırı benzer:
    Const strDataSource = My_Custom_Catalog
  5. Dosya menüsünde Kaydet ' i tıklatın ve sonra da dosyayı kapatın.

Yöntem 2: alan listesini değiştir

  1. Expression Web'ı başlatın ve sonra da bu makalenin önceki bölümlerinde oluşturduğunuz örnek Web sayfası açın.
  2. Kod HTML görünüme geçmek için Ek Yardım düğmesini tıklatın.
  3. Aşağıdaki kod benzer bir kod satırı bulun:
    Const strDisplayFields = "Rank, DocAuthor, DocAppName"
  4. Değerlerin listesini değiştirin. Her alan adını virgülle ayırın. Örneğin, aşağıdaki kod satırı benzer:
    Const strDisplayFields = "Rank, DocAuthor, DocAppName, DocTitle"
  5. Dosya menüsünde Kaydet ' i tıklatın ve sonra da dosyayı kapatın.
Aşağıdaki tabloda, strDisplayFields değişkeni için kullanabileceğiniz değerleri listeler.
Bu tabloyu kapaBu tabloyu aç
Alan adıAlan türüAçıklama
AccessDate/TimeDosyayı erişilen son tarih
NitelemesiMetin/dizesiNitelemesi veya ındex Server tarafından hesaplanan belgenin, Özet
OluşturmaDate/TimeDosyanın oluşturulduğu zaman
DizinMetin/dizesiDosya adıyla birlikte dosyanın fiziksel yolunu
DocAppNameMetin/dizesiDosyayı oluşturan uygulamanın adı
DocAuthor Metin/dizesiBelgenin yazarı
DocByteCountSayısal Belgedeki bayt sayısı
DocCategoryMetin/dizesiDekontu, zamanlamayı veya beyaz kağıt gibi belge türü
DocCharSayı sayısalBelgedeki karakter sayısı
DocCommentsMetin/dizesiBelge hakkında açıklamalar
DocCompanyMetin/dizesiBelgenin yazıldığı şirketin adı
DocCreatedTmDate/TimeBelgenin oluşturulduğu zaman
DocEditTimeDate/TimeBelgeyi düzenleme harcanan toplam süre
DocHiddenCountSayısalMicrosoft PowerPoint sunusuna gizli slaytları sayısı
DocKeywordsMetin/dizesiBelge anahtar sözcükleri
DocLastAuthorMetin/dizesiEn son kullanıcının belge düzenlenemez.
DocLastPrintedDate/TimeBelgenin son yazdırılma zamanı
DocLastSavedTmDate/Time Belgeyi en son kaydedildiği zaman
DocLineCountSayısalBir belgede bulunan satır sayısı
DocManagerMetin/dizesiBelgeyi yazanın yöneticisinin adı
DocNoteCountSayısalBir PowerPoint sunusuna notlarınız varsa, sayfa sayısı
DocPageCountSayısalBelgedeki sayfa sayısı
DocParaCountSayısalBelgedeki paragraf sayısı
DocPartTitlesMetin/dizesiBelge bölümlerinin adları. Örneğin, Microsoft Excel'de, elektronik bir belge parçasıdır. Microsoft PowerPoint'te bir slayda bir belge parçasıdır. Microsoft Word'de, asıl belge içinde içeren belgelerin dosya adları belge bölümleridir.
DocPresentationTargetMetin/dizesiHedef biçimi (35 mm, yazıcı veya video gibi) bir PowerPoint sunusu
DocRevNumberMetin/dizesiBir belgenin geçerli sürüm numarası
DocSlideCountSayısalBir PowerPoint sunusundaki bir slayt sayısı
DocSubjectMetin/dizesiBelgenin konusu
DocTemplateMetin/dizesiBelge şablonu adı
DocTitleMetin/dizesiBelge başlığı
DocWordCountSayısalBelgedeki sözcük sayısı
DosyadiziniSayısalDosyasının benzersiz KIMLIĞI
FilenameMetin/dizesiDosya adı
HitCountSayısalIsabet veya sorguda, dosyayı eşleşen sözcük sayısı
YolMetin/dizesiDosyasının dosya adı dahil tam fiziksel yolu
RütbeSayısalSatırın rütbe. Bu değer, 0-1000 için aralığı. Daha büyük bir sayı daha iyi bir eşleşme gösterir.
ShortFileNameMetin/dizesiKısa (8.3) dosya adı
BoyutSayısalDosyanın bayt cinsinden boyutu
VPathMetin/dizesiDosya, dosya adı da dahil tam sanal yolu. Birden çok olası yol varsa, özel bir sorgu en iyi eşleşen seçilir.
YazDate/TimeDosyayı yeniden yazıldı son tarih

SORUN GİDERME

  • Dizin Hizmeti çalışıyorsa, aşağıdaki hata iletisini alırsınız:
    Dizin Oluşturma Hizmeti hatası: '80041820' için Microsoft OLE DB Provider hizmeti çalışmıyor. / IndexServerTest.asp, <a1>Satır</a1> 44
    Bu sorunu gidermek için <a0></a0>, Dizin Oluşturma Hizmeti'ni başlatın.
  • Bir hata iletisi alıyorsunuz, geçersiz bir katalog belirtirseniz aşağıdaki hata iletisini benzer:
    Microsoft OLE DB Provider for Hizmeti'nin hata '8004181d' çok hiçbir katalogdur. / IndexServerTest.asp, <a1>Satır</a1> 44
    Bu sorunu gidermek için <a0></a0>, strDataSource değişkenin değerini denetleyin. Doğru ise, Dizin Oluşturma Hizmeti'ni yeniden başlatın.

Referanslar

Microsoft Windows 2000 dizin oluşturma hizmeti ile çalışma hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
185985Sorgulamak ve META ETIKET bilgilerini görüntülemek için ındex Server kullanma
256276Hata iletisi: hiçbir katalog yok.
229282Kaynak bir dizin sunucusu sonuç sayfa görüntülediğinizde, ASP kodu görülebilir.

Özellikler

Makale numarası: 928700 - Last Review: 11 Aralık 2006 Pazartesi - Gözden geçirme: 1.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Expression Web
Anahtar Kelimeler: 
kbmt kbexpertiseinter kbhowto KB928700 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:928700

Geri Bildirim Ver

 

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