首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从asp:textbox调用javascript函数?

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

Stack Overflow用户
提问于 2015-09-10 07:17:25
回答 1查看 1.9K关注 0票数 2

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

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

我发现java script用于在客户端搜索记录,如

代码语言:javascript
复制
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>

并称之为:

代码语言:javascript
复制
<input name="txtTerm" onkeyup="filter2(this, '<%=GridView1.ClientID %>')" placeholder="Search" type="text"/>

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

但是我需要onkeyup="filter2(this, '<%=GridView1.ClientID %>')"事件在我的asp textbox e-g中

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

但是asp不允许我那样做.

我需要你的帮助才能做到这一点。

提前谢谢。

编辑:

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

客户端允许从已加载的gridview和

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-10 07:35:04

您可以通过后面的代码添加呈现的输入控件的client属性:

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{

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

编辑:

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

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

例如:

代码语言:javascript
复制
<asp:Label runat="server" ID="label">test</asp:Label>
    <asp:TextBox runat="server" ID="txt" Text="<%# label.ID %>" onkeyup="alert('<%: label.ID %>')"></asp:TextBox>

这就是我们的产出:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32495476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档