AutoCompleteExtenderで、textとvalueを別々にしたい!

リストに表示される値とは別にvalue値を保持しておきたい。
その場合は、ServiceMethodプロパティにセットしたメソッド内にて、
AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(<text>,<value>)メソッドを使う。
以下、リストを選択したら、textとvalueをalert表示するサンプル。
ちなみにこのまま書いても動きません。TargetControlを設定してください。


WEBサービス

[WebMethod()]
public String GetCompletionList(String prefixText, int count)
{
  string
list = new string[count];

  for (int i = 0; i < count; i++)
  {
    list[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem
    (prefixText + "の" + i.ToString() + "番目", //リストに表示されるテキスト
     i.ToString() //value値(リストには表示されない)
     );
  }

  return list;

}

【ASPXソース】

<ajaxToolkit:AutoCompleteExtender runat="server"
OnClientItemSelected = "IAmSelected"
ServiceMethod = "GetCompletionList"
...>

【javascript】

function IAmSelected( source, eventArgs ) {
  alert( " text : "+ eventArgs.get_text() +" value : " + eventArgs.get_value());
}

参考:How to : Use a Key Value Pair in your AutoCompleteExtender