Ik wil een textbox maken met hierop een autosuggest. Nu heb ik aan de textbox een autocompleteextender gehangen.
Deze gaat naar een webservice waar ik een lijst met mogelijkheden ophaal in de database. Nu heb ik voor de query een extra parameter nodig. Ik was van plan om deze mee te geven met de ContextKey.
Als ik de ContextKey een vaste waarde geeft bv: ContextKey="123" dan werkt dit perfect. maar het probleem is dat deze dynamisch opgevuld moet worden.
Weet er iemand hoe ik deze property dynamisch kan setten?
Mijn code
ASP
Webservice
Deze gaat naar een webservice waar ik een lijst met mogelijkheden ophaal in de database. Nu heb ik voor de query een extra parameter nodig. Ik was van plan om deze mee te geven met de ContextKey.
Als ik de ContextKey een vaste waarde geeft bv: ContextKey="123" dan werkt dit perfect. maar het probleem is dat deze dynamisch opgevuld moet worden.
Weet er iemand hoe ik deze property dynamisch kan setten?
Mijn code
ASP
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <asp:TextBox ID="txtTest" style="width:300px;" runat="server"></asp:TextBox>
<act:AutoCompleteExtender
ID = "aceTest"
BehaviorID = "aceTestBehavior"
runat = "server"
TargetControlID = "txtTest"
ServicePath = "AutoComplete.asmx"
ServiceMethod = "GetDepartmentList"
MinimumPrefixLength = "1"
CompletionInterval = "100"
EnableCaching = "true"
CompletionSetCount = "20"
UseContextKey = "true"
ContextKey = "2009-10"
>
</act:AutoCompleteExtender> |
Webservice
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <WebMethod()> _
Public Function GetDepartmentList(ByVal prefixText As String, ByVal count As Integer, ByVal contextKey As String) As String()
Dim list As List(Of String) = New List(Of String)
scConnectie = New SqlConnection(oConfig.GetDatabaseConnectionString())
scConnectie.Open()
scCommand = scConnectie.CreateCommand
scCommand.CommandText = "SELECT departement, depcode, schooljaar, p_departement FROM SA_Departement WHERE (schooljaar = '" & contextKey & "') AND departement LIKE '" & prefixText & "%' ORDER BY departement"
dtDataReader = scCommand.ExecuteReader
If dtDataReader.HasRows Then
While dtDataReader.Read
list.Add(dtDataReader("departement").ToString())
End While
End If
scConnectie.Close()
Dim strList As String() = list.ToArray()
Return strList
End Function |
[ Voor 62% gewijzigd door Yoki1985 op 01-07-2009 15:13 ]