Web Client Software Factory v2.0包含了一个RealTimeSearchMonitor控件 提供实时搜索功能 来帮助你在ASP.NET中使用ASP.NET AJAX 局部更新网页。
此文章帮助你 如何在ASP.NET 中使用 RealTimeSearchMonitor控件,数据来自Northwind数据库的Customers表,数据访问是用企业库写的,当然你也可以使用别的任何方式返回数据源,,不过不用企业库写个SQL语句还真是够复杂!!!
先决条件
使用realtimesearchmonitor ,必须是在一个网站或Web应用程序项目中用,并要符合下列条件:
配置为目标的Microsoft。NET Framework 3.5。
表单必须至少有一个搜索输入控件,如:TextBox控件。
搜索结果必须包含ASP.NET AJAX UpdatePanel控件中。
1.下载Web Client Software Factory v2.0, RealTimeSearchMonitor源代码路径是:Web Client Software Factory 2.0\Samples\RealTimeSearch\RealTimeSearch,编译通过,引用realtimesearch.dll到网站就行了。
2.拖放控件到页面
需要设置AssociatedUpdatePanelID属性指向UpdatePanel的ID,
需要设置ControlsToMonitor(集合)中的属性TargetID指向输入控件,eventname事件是可选的,如果没有设置该属性默认由TargetID的控件事件更新。
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:TextBox ID="TextBox1" OnTextChanged="TextBox1_TextChanged" runat="server" />
<rts:RealTimeSearchMonitor ID="CustomerRealTimeSearchMonitor" runat="server" Interval="700"
AssociatedUpdatePanelID="UpdatePanel">
<ControlsToMonitor>
<rts:ControlMonitorParameter TargetID="TextBox1" />
</ControlsToMonitor>
</rts:RealTimeSearchMonitor>
<asp:UpdatePanel ID="UpdatePanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<hr />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="CustomerID"
PageSize="10" AllowPaging="True" Width="690px" OnPageIndexChanging="GridView1_PageIndexChanging">
<Columns>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID" SortExpression="CustomerID" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" SortExpression="CompanyName" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" SortExpression="ContactName" />
<asp:BoundField DataField="ContactTitle" HeaderText="ContactTitle" SortExpression="ContactTitle" />
<asp:BoundField DataField="City" HeaderText="Zip" SortExpression="City" />
<asp:BoundField DataField="Address" HeaderText="Address" SortExpression="Address" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>