C# UpdatePanel ASP.NET文本框(如谷歌搜索框)
首先,我想指出,我已经使用Javascript和ASP.Net来解决这个问题。然而,我听说UpdatePanel和TextBox(逐字符过滤器)。我相信这会更快,因为我可以节省大量的渲染时间 我试着跟着 但是这个方法不起作用。这是一个例子C# UpdatePanel ASP.NET文本框(如谷歌搜索框),c#,asp.net,textbox,updatepanel,C#,Asp.net,Textbox,Updatepanel,首先,我想指出,我已经使用Javascript和ASP.Net来解决这个问题。然而,我听说UpdatePanel和TextBox(逐字符过滤器)。我相信这会更快,因为我可以节省大量的渲染时间 我试着跟着 但是这个方法不起作用。这是一个例子 protected void Page_Load(object sender, EventArgs e) { string query = cmd; JB.CommandResponse response = JB.
protected void Page_Load(object sender, EventArgs e)
{
string query = cmd;
JB.CommandResponse response = JB.Master.DataBase.ExecuteQuery(query); //database
if (!Page.IsPostBack)
{
GridView_product.DataSource = response.Get_DataRecords();
GridView_product.DataBind();
TextBox_search.Attributes.Add("onkeyup", "refresh()");
return;
}
response = JB.Master.DataBase.ExecuteQuery(query); //database
query += " and code_p like '%" + TextBox_search.Text + "%' or " +
"name_p like '%" + TextBox_search.Text + "%'";
GridView_product.DataSource = response.Get_DataRecords();
GridView_product.DataBind();
}
//Aspx
<script>
var refresh = function () {
__doPostBack('<%= myUpdatePanel.ClientID %>', '');
};
</script>
<asp:ScriptManager ID="sm" runat="server" EnablePageMethods="true"></asp:ScriptManager>
<asp:TextBox ID="TextBox_search" runat="server" CssClass="textbox left"></asp:TextBox>
<asp:UpdatePanel runat="server" ID="myUpdatePanel" UpdateMode="Always">
<ContentTemplate>
<asp:GridView ID="GridView_product" runat="server" CssClass="gridview" ShowHeaderWhenEmpty="true"></asp:GridView>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="TextBox_search" />
</Triggers>
</asp:UpdatePanel>
var refresh=函数(){
__doPostBack('','');
};
最初不要在查询使用参数时使用字符串连接。为什么不尝试使用PageMethods并在键控时调用您的方法并获取数据?您好,是的,我已经使用了PageMethods,并将Javascript与Json一起使用。只是我相信使用UpdatePanel和Postback会更好、更简单。至于查询,不用太担心。我正在调用我的dll库当然我有我有一个内置参数函数。只是我不经常使用它,那么,我只想提一下,只是为了保护你。:)Pagemethods、javascript和json更加清晰。