验证AutoCompleteExtender

时间:2011-03-01 20:14:57

标签: asp.net autocompleteextender

您好 我需要验证文本框值,以便只接受相关autocompleteextender控件的完成列表中的值。

我在asp.net 2.0上使用ajaxtoolkit(版本20229)。

现在我使用下面的代码来验证文本框;你可以看到我有一个隐藏所选键的隐藏字段。如果用户在未从列表中选择值的情况下输入值,则hiddenfield设置为0.

你知道吗? 感谢

/ * *** Javascript代码

   function AutoCompleteItemPopulated(source, eventArgs)
        {
             var assocHiddenField = document.getElementById( source.get_element().id+'_hidden');
             assocHiddenField.value=0;
}



function AutoCompleteItemSelected(source, eventArgs)
        {
            var assocHiddenField = document.getElementById( source.get_element().id+'_hidden');

            assocHiddenField.value = eventArgs.get_value();

          }

/ * ** * *用于填充自动填充列表的CODEBEHIND代码

[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
    public static string[] getStrada(string prefixText, int count, string contextKey)
    {
        System.Collections.Generic.List<string> items = new System.Collections.Generic.List<string>();
        DataSetIncidentiTableAdapters.StradarioTableAdapter adapter = new DataSetIncidentiTableAdapters.StradarioTableAdapter();
        DataSetIncidenti.StradarioDataTable dtStrade = adapter.GetStrade(contextKey, prefixText);

            foreach (DataSetIncidenti.StradarioRow strada in dtStrade.Rows)
            {
                items.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(strada.DenominazioneCompletaVia, strada.IdStrada.ToString()));
            }

        return items.ToArray();
    }

1 个答案:

答案 0 :(得分:0)

是的,这可以验证;您需要使用CustomValidator执行此操作,您可以设置客户端和服务器验证功能,然后检查隐藏字段的值。

这对我们很有用。

HTH。