AutoCompleteExtender返回text,value
来源:互联网 发布:三国杀 银两武将 知乎 编辑:程序博客网 时间:2024/06/03 05:42
项目中遇到一个问题:有些下拉列表的项目过多,用户选择起来十分麻烦。
这使我想到了使用Ajax的AutoCompleteExtender控件替代DropDownList来解决这个问题。但是标准的AutoCompleteExtender控件只返回Text列表,我如何取得用户选择的ID呢?
网络上有些做法是改变AutoCompleteExtender的某些内部函数(http://www.cnblogs.com/SilverLight/archive/2008/09/28/1301755.html),但实现起来相当麻烦。最后我采用了一种变通的方法解决了此问题。其思路如下:通过AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem函数设置text-value键值对,然后使用AutoCompleteExtender控件的OnClientItemSelected方法将选中项的value值存入页面中的hidden控件。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ytc_1224/archive/2009/04/01/4040801.aspx
HTML代码如下:
<asp:TextBox ID=
"MaterialNameTxt"
runat=
"server"
Width=
"350px"
></asp:TextBox>
<cc2:AutoCompleteExtender ID=
"AutoCompExt"
runat=
"server"
TargetControlID=
"MaterialNameTxt"
MinimumPrefixLength=
"1"
ServicePath=
"http://www.cnblogs.com/../MyWebMethods/WSMSCMap_GetMaterial.asmx"
ServiceMethod=
"GetListName"
CompletionInterval=
"1"
CompletionListItemCssClass=
"autocomplete_listItem"
CompletionListHighlightedItemCssClass=
"autocomplete_highlightedListItem"
FirstRowSelected=
"true"
Enabled=
"true"
EnableCaching=
"false"
CompletionListCssClass=
"autocomplete_list"
UseContextKey=
"true"
OnClientItemSelected=
"OnACEItemSelected"
></cc2:AutoCompleteExtender>
<input id=
"AutoComplete_Hidden"
type=
"hidden"
runat=
"server"
/>
本文来自CSDN博客,转载请标明出处:http:
//blog.csdn.net/ytc_1224/archive/2009/04/01/4040801.aspx
JavaScript:
<mce:script type=
"text/javascript"
><!--
function OnACEItemSelected(source, eventArgs) {
document.getElementById(
"AutoComplete_Hidden"
).value=eventArgs.get_value();
document.getElementById(
"MaterialIDLbl2"
).innerText=eventArgs.get_value();
//alert("Value值:"+eventArgs.get_value()+"\nText值:"+eventArgs.get_text());
}
// --></mce:script>
本文来自CSDN博客,转载请标明出处:http:
//blog.csdn.net/ytc_1224/archive/2009/04/01/4040801.aspx
CS代码:
/// <summary>
/// AutoCompleteExtender搜索显示结果集的ServiceMethod
/// </summary>
/// <param name="prefixText">输入的文本,根据这个和数据库进行匹配</param>
/// <param name="count">返回的结果集的长度</param>
/// <param name="contextKey">AutoCompleteExtender.ContextKey的值,在调用本方法之前可以将其设置为用户的自定义值。重载函数中没有此项参数</param>
/// <returns></returns>
[WebMethod]
public
string
[] GetListName(
string
prefixText,
int
count,
string
contextKey)
{
List<
string
> items =
new
List<
string
>(count);
string
SelectText =
""
;
int
rowCount = -1; DataTable dtt =
new
DataTable();
if
(
string
.IsNullOrEmpty(contextKey)) SelectText =
"select MaterialID,MaterialName from Admin.BD_TechnicalStandard where MaterialName like '"
+ prefixText +
"%' order by nlssort(MaterialName,'NLS_SORT=SCHINESE_PINYIN_M')"
;
else
SelectText =
"select MaterialID,MaterialName from Admin.BD_TechnicalStandard where MaterialName like '%"
+ prefixText +
"%' and MaterialID NOT IN (select distinct MaterialID from Admin.BD_MSCMap) order by nlssort(MaterialName,'NLS_SORT=SCHINESE_PINYIN_M')"
;
//contextKey: Remove
//SelectText = "select * from (" + SelectText + ") where rownum<=" + count.ToString() + " order by rownum ASC";//抽取前count个结果
dtt = moc.ExecSelectCommand(SelectText,
out
rowCount);
if
(dtt !=
null
&& rowCount > 0)
{
//使用text-value键值对:AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem函数
foreach
(DataRow dr
in
dtt.Rows) items.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(dr[
"MaterialName"
].ToString(), dr[
"MaterialID"
].ToString()));
return
items.ToArray();
}
else
return
null
;
}
0 0
- AutoCompleteExtender返回text,value
- AutoCompleteExtender返回text-value键值对的变通方法
- 返回AutoCompleteExtender的值
- AutoCompleteExtender
- jquery value text
- 获取dropdownlist value text
- DropDownList的Value和Text
- Text与Value的区别
- js控制text的value
- 获取下拉text 和value
- 取text标签的value
- excel text to date value
- DropDownList获取value与text
- AutoCompleteExtender需要注意的问题(参数类型,参数名称,返回值类型)
- AutoCompleteExtender實例
- 使用AutoCompleteExtender
- AutoCompleteExtender webservices
- ajaxToolkit:AutoCompleteExtender
- 博弈论 sg函数
- KNN算法理解
- Debug与Release版本的区别详解
- 1017. A除以B
- 【LeetCode101-110】二叉树对称及存储,前序中序遍历生成二叉树,中序后序生成二叉树,数组转化为AVL平衡树,判断二叉树是否平衡
- AutoCompleteExtender返回text,value
- 网络请求post get 中文参数报错
- 9个数字组成三个数字使加法等式成立
- List集合之LinkedList
- ava 对象序列化和反序列化
- 联动菜单极其注意事项
- NYOJ--95--multiset--众数问题
- Library not loaded:Reason: image not found 解决
- 【脚本语言系列】关于Python测试工具Pylint, 你需要知道的事