2009-06-11 8 views
0

ページASP.NETにajaxオートコンプリートがあります。これは、いくつかの郵便番号を返すWebサービスからのメソッドを呼び出します。AJAXオートコンプリートのSys.Serialization.JavaScriptSerializer

彼は前にSys.Serialization.JavaScriptSerializer.deserialize(呼び出し、応答)を公開したいクライアント側で
public string[] GetNames(string prefixText, int count, String contextKey) 
{ 
    prefixText = prefixText.Trim(); 
    XmlNodeList list; 
    List<string> names = new List<string>(); 
    if ((prefixText[0] >= '0') && (prefixText[0] <= '9')) 
    { 
     if ((contextKey == null) || (contextKey.Equals(""))) 
      list = cpsForAgences["groupe"]; 
     else 
      list = cpsForAgences[contextKey]; 
     int i=0; 
     foreach (System.Xml.XmlNode node in list) 
     { 
      if (node.InnerText.ToLower().StartsWith(prefixText)) 
      { 
       names.Add(node.InnerText); 
       if (++i >= count) 
        break; 
      } 
     } 
     names.Sort(); 
     return names.ToArray(); 
    } 
} 

、:「0」で始まる郵便番号のために

try { 
var pair = Sys.Serialization.JavaScriptSerializer.deserialize('(' + completionItems[i] + ')');if (pair && pair.First) { 
text = pair.First;value = pair.Second;} else { 
text = pair;value = pair;} 
} 

結果はSys.Serialization.JavaScriptSerializer.deserializeによって返されます。これは完全にmy値であるcompletionItems [i]の値とは異なります。 この現象はなぜですか?どうすればそれを避けることができますか?ありがとう!

答えて

1

文字列の代わりに整数を使用してみます。

関連する問題