验证 AutoCompleteExtender

发布于 2024-10-19 19:29:56 字数 1655 浏览 6 评论 0原文

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

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

现在我使用下面的代码来验证文本框;正如你所看到的,我有一个隐藏字段来保留所选的键。如果用户输入值而不从列表中选择它,则隐藏字段将设置为 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();
    }

Hi
i need to validate a textbox value in order to accept only values that are in the completion list of the associated autocompleteextender control.

I'm using ajaxtoolkit (version 20229) on asp.net 2.0.

For now i use the code below to validate the textbox ; as you can see i had a hiddenfield that keep the selected key. The hiddenfield is set to 0 if the user enter a value without selecting it from the list.

Do you have any idea?
Thanks

/**** Javascript code

   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 code used to populate the autocompletion list

[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();
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半步萧音过轻尘 2024-10-26 19:29:56

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

这对我们来说非常有用。

HTH。

Yes this can be validated; you need to use a CustomValidator to do this, which you can setup both a client and server validation function, and then check the hidden field for its value.

This works great for us.

HTH.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文