我有一个asp.net应用程序。要求提供实时搜索功能来搜索特定的产品列表。
我搜索了各种实时搜索jquery插件并使用了它 http://nakajima.github.com/jquery-livesearch/
在上面提到的链接中,数据采用ul li格式,然后实时搜索在该列表上实现,所以我所做的是在后端,从服务器端,使用转发器控件,如下所示
<ul id="names">
<asp:Repeater ID="SomeRepeater" runat="server" OnItemCommand="SomeRepeater_ItemCommand" Visible="false">
<ItemTemplate>
<li>
<asp:LinkButton ID="SomeLink" runat="server" CommandName="Load" CommandArgument='<%# Eval("SomeId")%>' Text='<%# Eval("SomeNameName") + " " + "("+ Eval("SomeCount") + ")" %>'></asp:LinkButton>
</li>
</ItemTemplate>
</asp:Repeater>
在后面的代码中,使用List对象为转发器控件绑定数据。 毕竟,实时搜索功能完全正常,转发器控制中的值为ul li。
现在,需求已更改,我需要隐藏我绑定到转发器控件的ul li值,但希望实时搜索相同的列表对象。
为此,我搜索了互联网并得到了一个想法,而不是使用转发器控件,让我使用JSon,我成功地从下面的代码中获取值作为字符串
JavaScriptSerializer jss = new JavaScriptSerializer();
string output = jss.Serialize(newListObject);
但问题是,我不能使用上面提到的jquery插件,我不知道如何使用上面的json字符串执行相同的搜索功能。
如果我的方法也正确,请告诉我,如何实现同样的目标。
答案 0 :(得分:1)
听起来jQuery Autocomplete会完全符合你的需要。与.NET集成也相当容易,只返回一个字符串列表。
或者,您可以声明自动完成项的静态列表。您还可以trigger changes/redirect when an item is clicked。