目标:用户在其中输入名称的文本框应显示数据库中与名称匹配的值的列表。但是,我们实际上必须捕获ID而不是选定的Name。文本框将显示匹配的名称。
平台:VB.NET
但是,这是C#。我的代码如下:
ASPX文件:
<asp:TextBox ID="txtClass1" runat="server" />
<cc1:AutoCompleteExtender Enabled="True" runat="server" ID="nameAuto"
TargetControlID="txtClass1"
ServiceMethod="GetNames"
ServicePath="~/WebService.asmx"
OnClientItemSelected="selectedClass"
/>
服务:
Public Function GetNameList(ByVal prefixText As String, ByVal contextKey As String) As ArrayList
Dim businessLayer as BL = New BL()
Dim arrLst = businessLayer.GetNameList(prefixText, contextKey) // brings 123~John
Dim arr2lst As New ArrayList
For i As Integer = 0 To arrLst.Count - 1
Dim subItem = arrLst.Item(i).ToString.Split("~")
arr2lst.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(subItem(0), subItem(1)))
Next
Return arr2lst
End Function
aspx中的Javascript函数:
<script type="text/javascript" language="javascript">
function selectedClass(source, eventArgs) {
console.log("eventArgs");
console.log("source");
}
</script>
在用户类型时,我在控制台中看到错误消息:
未捕获的错误:Sys.ArgumentOutOfRangeException:值必须是整数。 参数名称:y 实际值为446.88890075683594。 在Function.Error $创建[如创建(?的ScriptResource.axd d = 4YlTLJ3QVN9GzFJh18Ihuda5_B_nTZ8Z60XMrB-hPb6eCW612q5NGFrk9Xzi88sUipOynFljgRuulyqFmJ_aIvbPtv2wfGYV9RIv-wgHPJjYc11AYGGjxfM996Pg13Kiuh0rmA0Hd7HZ6JEaraWSCw2&T = ffffffffec54f2d7:846) 在Function.Error $ argumentOutOfRange [如argumentOutOfRange](的ScriptResource.axd d = 4YlTLJ3QVN9GzFJh18Ihuda5_B_nTZ8Z60XMrB-hPb6eCW612q5NGFrk9Xzi88sUipOynFljgRuulyqFmJ_aIvbPtv2wfGYV9RIv-wgHPJjYc11AYGGjxfM996Pg13Kiuh0rmA0Hd7HZ6JEaraWSCw2&T = ffffffffec54f2d7:907) 在功能$ _validateParameterType [如_validateParameterType](的ScriptResource.axd d = 4YlTLJ3QVN9GzFJh18Ihuda5_B_nTZ8Z60XMrB-hPb6eCW612q5NGFrk9Xzi88sUipOynFljgRuulyqFmJ_aIvbPtv2wfGYV9RIv-wgHPJjYc11AYGGjxfM996Pg13Kiuh0rmA0Hd7HZ6JEaraWSCw2&T = ffffffffec54f2d7:801) 在功能$ _validateParameter [如_validateParameter](的ScriptResource.axd d = 4YlTLJ3QVN9GzFJh18Ihuda5_B_nTZ8Z60XMrB-hPb6eCW612q5NGFrk9Xzi88sUipOynFljgRuulyqFmJ_aIvbPtv2wfGYV9RIv-wgHPJjYc11AYGGjxfM996Pg13Kiuh0rmA0Hd7HZ6JEaraWSCw2&T = ffffffffec54f2d7:718) 在功能$ _validateParams [如_validateParams](的ScriptResource.axd d = 4YlTLJ3QVN9GzFJh18Ihuda5_B_nTZ8Z60XMrB-hPb6eCW612q5NGFrk9Xzi88sUipOynFljgRuulyqFmJ_aIvbPtv2wfGYV9RIv-wgHPJjYc11AYGGjxfM996Pg13Kiuh0rmA0Hd7HZ6JEaraWSCw2&T = ffffffffec54f2d7:667) 在新的点(的ScriptResource.axd d = 4YlTLJ3QVN9GzFJh18Ihuda5_B_nTZ8Z60XMrB-hPb6eCW612q5NGFrk9Xzi88sUipOynFljgRuulyqFmJ_aIvbPtv2wfGYV9RIv-wgHPJjYc11AYGGjxfM996Pg13Kiuh0rmA0Hd7HZ6JEaraWSCw2&T = ffffffffec54f2d7:4738) 在Function.DomElement $的getLocation [按的getLocation(的ScriptResource.axd d = 4YlTLJ3QVN9GzFJh18Ihuda5_B_nTZ8Z60XMrB-hPb6eCW612q5NGFrk9Xzi88sUipOynFljgRuulyqFmJ_aIvbPtv2wfGYV9RIv-wgHPJjYc11AYGGjxfM996Pg13Kiuh0rmA0Hd7HZ6JEaraWSCw2&T = ffffffffec54f2d7:5194) 在Function.DomElement $的getBounds [按的getBounds](的ScriptResource.axd d = 4YlTLJ3QVN9GzFJh18Ihuda5_B_nTZ8Z60XMrB-hPb6eCW612q5NGFrk9Xzi88sUipOynFljgRuulyqFmJ_aIvbPtv2wfGYV9RIv-wgHPJjYc11AYGGjxfM996Pg13Kiuh0rmA0Hd7HZ6JEaraWSCw2&T = ffffffffec54f2d7:5125) 在Sys.Extended.UI._CommonToolkitScripts.getBounds处(SelectName.aspx?_TSM_HiddenField_ = ctl00_GeneralContentPlaceHolder_Toolkit_HiddenField&_TSM_CombinedScripts _ =%3b%3bAjaxControlToolkit%2c + Version%3d3.5.40412.0%2d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d1b1b4e1e4e0e0e0e0d0d0d0b0e0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b 3a1547e793-5b7e-48fe-8490-03a375b13a33%3ade1feab2%3afcf0e993%3af2c8e708%3a720a52bf%3af9cec9bc%3a589eaa30%3a698129cf%3afb9b4c57%3accb96cf9%3a7a92 在Sys.Extended.UI.AutoCompleteBehavior._update(SelectName.aspx?_TSM_HiddenField_ = ctl00_GeneralContentPlaceHolder_Toolkit_HiddenField&_TSM_CombinedScripts _ =%3b%3bAjaxControlToolkit%2c + Verul%3d3.5.40412.0%2d3d3e3d3d3e3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d1b4b4b1e8b1e8b1e8e1e1e人才职图板3a1547e793-5b7e-48fe-8490-03a375b13a33%3ade1feab2%3afcf0e993%3af2c8e708%3a720a52bf%3af9cec9bc%3a589eaa30%3a698129cf%3afb9b4c57%3accb96cf9%3a7a92