javascript - 如何从 asp :textbox? 调用 javascript 函数

标签 javascript c# asp.net textbox

我正在使用 textbox用于从数据库中搜索项目并将它们加载到 gridview 中和

我用过custom paginggridview每页只显示 25 条记录

然后我找到了java script用于在客户端搜索记录作为

script>
        function filter2(phrase, _id) {
            var words = phrase.value.toLowerCase().split(" ");
            var table = document.getElementById(_id);
            var ele;
            for (var r = 1; r < table.rows.length; r++) {
                ele = table.rows[r].innerHTML.replace(/<[^>]+>/g, "");
                var displayStyle = 'none';
                for (var i = 0; i < words.length; i++) {
                    if (ele.toLowerCase().indexOf(words[i]) >= 0)
                        displayStyle = '';
                    else {
                        displayStyle = 'none';
                        break;
                    }
                }
                table.rows[r].style.display = displayStyle;
            }
        }

    </script>

并将其称为:

<input name="txtTerm" onkeyup="filter2(this, '<%=GridView1.ClientID %>')" placeholder="Search" type="text"/>

此功能从激活页面搜索记录,显然从整个数据库搜索将在服务器端完成,我使用了 asp textbox

但我需要onkeyup="filter2(this, '<%=GridView1.ClientID %>')"我的事件asp textbox例如

 <asp:TextBox ID="txtSearch" onkeyup="filter2(this, '<%=GridView1.ClientID %>')"  placeholder="Search" runat="server"  AutoPostBack="True" OnTextChanged="txtSearch_TextChanged" />

但是 asp 不允许我这样做..

我需要你的帮助才能实现这一目标。

提前致谢。

编辑:

我需要在单个 textbox 中搜索(客户端、服务器端) 因为

客户端允许从 gridview 的加载页面和

服务器端允许在点击时从数据库中搜索

最佳答案

您可以通过隐藏代码添加渲染输入控件的客户端属性:

protected void Page_Load(object sender, EventArgs e)
{

    txtSearch.Attributes.Add("onkeyup", string.Format("filter2(this,'{0}')",GridView1.ClientID)");
}

编辑:

在@Lukas 的正确评论之后,我们应该说主要问题是使用 <%=GridView1.ClientID %>文本框 webcontrol 内的内联表达式:

<%= %> 会将字符串直接写入响应流,这发生在构建服务器控件之后,因此将呈现为字符串而不进行解析。

例如:

<asp:Label runat="server" ID="label">test</asp:Label>
    <asp:TextBox runat="server" ID="txt" Text="<%# label.ID %>" onkeyup="alert('<%: label.ID %>')"></asp:TextBox>

这是我们的输出:

enter image description here

关于javascript - 如何从 asp :textbox? 调用 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32495476/

相关文章:

c# - ADS(备用流)与 DSO(文件属性)存储元数据

asp.net - jQuery 服务器端按钮

javascript - 图片无法正确放入 div

javascript - 字符串包括 : test the word from an array of strings

c# - 在 protobuf-net v3 更新中替换 IList<>?

c# - .NET 中 "HttpRequest.RequestType"和 "WebRequest.Method"值的常量在哪里?

asp.net - C# ASP.NET - 如何独立使用默认 View 引擎?

javascript - 字符串化javascript函数

c# - 使用正则表达式删除整个 Html 中的空格,但在 pre 内部

c# - 使用应用程序状态变量和应用程序级事件