客户端模板
RadSearchBox提供对客户端模板的支持。模板本身包含标记表达式和绑定表达式DataItem然后在客户端上渲染为Item的内容。模板支持以下类型的表达式,这些表达式在运行时求值:
# =…#—从数据项中计算JavaScript代码表达式或字符串属性,并将结果输出到模板中。
#, #-计算里面的JavaScript代码表达式,但不输出值。
#: #—计算数据项中的JavaScript代码表达式或字符串属性,并将HTML编码的结果输出到模板中。
客户端模板不能包含服务器控件。
#= DataItem。ID # #= Text # .
[WebMethod] public static SearchBoxItemData[] GetResults(SearchBoxContext context) {DataTable data = GetData(context. text);List result = new List();For (int I = 0;i < data.Rows.Count;i++) {SearchBoxItemData itemData =新的SearchBoxItemData();itemData。Text = data.Rows[i]["ProductName"].ToString();itemData.DataItem。添加(“ID”,data.Rows[我][“ProductId”].ToString ());result.Add (itemData); } return result.ToArray(); } private static DataTable GetData(string filterString) { SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString); SqlCommand command = new SqlCommand("SELECT [ProductId], [ProductName] FROM [Products] WHERE [ProductName] LIKE '%' + @filterString + '%' ORDER BY [ProductId]"); command.Parameters.AddWithValue("@filterString", filterString); command.Connection = connection; SqlDataAdapter adapter = new SqlDataAdapter(command); DataTable data = new DataTable(); adapter.Fill(data); return data; }
_公共共享函数GetResults(context As SearchBoxContext) As SearchBoxItemData() Dim data As DataTable = GetData(context. text) Dim result As New List(Of SearchBoxItemData)() For i As Integer = 0 To data. rows . count - 1 Dim itemData As New SearchBoxItemData()Text = data.Rows(i)("ProductName"). tostring () itemData.DataItem. tostring ()Add("ID", data.Rows(i)("ProductId"). tostring ()) result.Add(itemData) Next Return result.ToArray() End Function Private Shared Function GetData(filterString As String) As DataTable Dim connection As New SqlConnection(ConfigurationManager.ConnectionStrings("NorthwindConnectionString"). connectionstring) Dim command As New SqlCommand("SELECT [ProductId], [ProductName] FROM [Products] WHERE [ProductName] LIKE '%' + @filterString + '%' ORDER BY [ProductId]") command.参数。AddWithValue("@filterString", filterString)命令。Connection = Connection Dim adapter As New SqlDataAdapter(command) Dim data As New DataTable() adapter. fill (data) Return data结束