1

在此处输入图像描述

参考图像,有 2 TextBox( tbxAttribute and tbxAttributeDesc)。页面加载时将加载值tbxAttribute TextBoxtbxAttributeDesc TextBox最终用户将填写该数据。

我已经完成了Autocomplete Textin tbxAttributeDesc。我们在表格中维护这些值,根据加载的tbxAttribute值,它们对应的值AttributeDesc将突出显示tbxAttributeDesc Textbox

我的代码是:

autoDesc = new AjaxControlToolkit.AutoCompleteExtender();

autoDesc.ID = "autoDesc" + i; 

autoDesc.BehaviorID = "tbxAtribute" + i;

autoDesc.ServicePath = "itemvaluemas.asmx";

autoDesc.ServiceMethod = "GetAttributeDesc";

autoDesc.TargetControlID = tbxAttributeDesc.ID;

autoDesc.MinimumPrefixLength = 1;

autoDesc.CompletionInterval = 10; 

autoDesc.FirstRowSelected = true;

autoDesc.CompletionSetCount = 30;

autoDesc.UseContextKey = true;

并且还使用了 Javscript 概念。

参考下图:

在此处输入图像描述

在这里,我需要传递条件 astbxAtribute和它们的对应tbxAtributeDesc,基于tbxAbbr需要突出显示的值..

如果我使用ContextKey那么我如何在上下文键中传递这两个文本框值..

如果您有任何想法,请帮助解决此问题。

4

2 回答 2

3

使用 ContextKey 属性将文本框的值传递给 GetAutoCompleteValues 函数。

txtbox1.Attributes.Add("onchange", "$find('BehaviourIDOftbxAttributeDesc').set_contextKey(tbxAttribute.value);");

有关更多信息,请查看以下链接:

AJAX C# AutoCompleteExtender contextKey

http://arrao4u.wordpress.com/2010/01/14/autocomplete-extender-with-context-key/

于 2012-06-11T12:40:38.023 回答
1

这是我找到的解决方案。

我使用 JavaScript:

function SetContextAbbr(formatid, itemValue, behaveid) {
var autoComplete1 = $find(behaveid);
var target = autoComplete1.get_element();
var txtformatid = document.getElementById(formatid);
var txtitemValue = document.getElementById(itemValue);
var contextkeydata = txtformatid.value + "-" + txtitemValue.value;
autoComplete1.set_contextKey(contextkeydata);
}

使用函数作为

 public string[] GetItemabbr(string prefixText, int count, string contextKey)
 {
        string[] splitvalue = contextKey.Split('-');

        //code here
 }

在 Web 服务中

                    autoabbr = new AjaxControlToolkit.AutoCompleteExtender();
                    autoabbr.ID = "autoabbr" + i;
                    autoabbr.BehaviorID = "autoabbrbehave" + i;
                    autoabbr.ServicePath ="itemvaluemas.asmx";
                    autoabbr.ServiceMethod = "GetItemabbr";
                    autoabbr.TargetControlID = txtItemAbbrValue.ID;
                    autoabbr.MinimumPrefixLength = 1;
                    autoabbr.CompletionInterval = 10;
                    autoabbr.FirstRowSelected = true;
                    autoabbr.CompletionListCssClass = "completionList";
                    autoabbr.CompletionListHighlightedItemCssClass = "itemHighlighted";
                    autoabbr.CompletionListItemCssClass = "listItem";
                    autoabbr.CompletionSetCount = 30;
                    autoabbr.UseContextKey = true;
于 2012-06-16T05:34:13.383 回答