ASP QUERY_STRING kodunu yanlış çözer ve metatabanı yolu bilgileri göster

Makale çevirileri Makale çevirileri
Makale numarası: 261116 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Belirtiler

Response.QueryString koleksiyonu, bir URL sonundan değerleri almak için kullanın, ancak beklenen değerler almazsınız. Döndürülen değer yerine, ınternet ınformation Services (IIS) metatabanı bilgi olabilir.

Neden

Active Server Pages (ASP) iç Request nesnesi bir HTTP isteğini sunucuya istemciden gönderilen bilgiler içerir. QueryString Topluluğu, URL sonunda görüntülenen herhangi bir ad/değer çiftleri içerir. Örneğin:
http://server/virtualDirectory/page.asp?name=value
				
bu bilgiler, URL olarak kodlanmý㾠olacaktır.


Örneğin
http://server/virtualDirectory/page.asp?name=my_value
				
gibi görünür:
http://server/virtualDirectory/page.asp?name=my%5Fvalue
				
ancak, değeri yüzde işareti ve geçerli bir karakter ("% 5F" eşlemeleri) bir alt çizgi [_] için dönen değer koleksiyonunun eşleyen bir onaltılık değer içeriyorsa, bir metatabanı yolu biçiminde Web sitesinin yolunu olacaktır. Değişken Response.Write üzerinden doğrudan bir HTML olarak yazdırıldığında, bu bir sorun olabilir.

Örneğin
Response.Write Request.QueryString("name")
				
yazdıracak:
LM/W3SVC/1/Root/VirtualDirectoryName
					

Çözüm

Bu sorunu gidermek için, en son Windows 2000 hizmet paketini edinin. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
260910En son Windows 2000 hizmet paketi nasıl elde edilir
Bu sorunu gidermek için <a0></a0>, Server.URLEncode işlevi için QueryString eklemeden önce QueryString değerleri kodlamak için kullanabilirsiniz.

Örneğin:
Response.Redirect "http://server/virtualDirectory/page.asp?name=" & Server.URLEncode("My Name ThatContains A % Sign")
				

Ad değer
Response.Write Request.Querystring("name")
				
Page.asp üzerinde sonuç "My adı kısımlarına içerilen BIR % sign" beklendiği gibi olur.

Durum

Microsoft bu sorunun Microsoft Windows 2000'de bulunduğunu onaylamıştır.

Bu sorun ilk olarak Windows 2000 Service Pack 1'de giderilmiştir.

Özellikler

Makale numarası: 261116 - Last Review: 9 Şubat 2014 Pazar - Gözden geçirme: 3.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbbug kbfix kbwin2000sp1fix KB261116 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:261116

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