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 ]