Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# UpdatePanel ASP.NET文本框(如谷歌搜索框)_C#_Asp.net_Textbox_Updatepanel - Fatal编程技术网

C# UpdatePanel ASP.NET文本框(如谷歌搜索框)

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.

首先,我想指出,我已经使用Javascript和ASP.Net来解决这个问题。然而,我听说UpdatePanel和TextBox(逐字符过滤器)。我相信这会更快,因为我可以节省大量的渲染时间

我试着跟着

但是这个方法不起作用。这是一个例子

 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更加清晰。