位置:海鸟网 > IT > ASP.NET >

两种在aspx页面中实现高亮显示搜过的关键字的方法

如何在aspx页面中实现高亮显示搜过关键字呢?以下有两种方法可以考虑:

方法一:

可以在aspx页面中数据绑定时直接用replace函数实现,比如:如果绑定了一个 id字段:

想高亮显示搜索关键字可以这样写:

<%#Eval(“id”)%>.toString().replace(strSearch,"<font color=red>"+strSearch+"</font>");

其中 strSearch 为搜索关键字,这样搜索出来的关键字 就为红色显示了 。

方法二:

但是这样直接在aspx页面写有一个缺点就是如果数据库中没有匹配的项时就会提示出错。

所以最好采用下面的方法:

aspx页面中写上getStr(<%#Eval(“id”)%>.toString())

cs 页面中定义一个 getStr(string)函数

比如:

    protected string GetString(string strKey)
    {
        if (tbSearch.Text.ToString().Trim() == "")
        {
            return strKey;
        }
        string strReturn = strKey.Replace(tbSearch.Text.ToString().Trim(), "<font color=red>" + tbSearch.Text.ToString() + "</font>");
        return strReturn;

 }

这样也能够实现第一种方法的效果,并且即使数据库没有匹配的数据也不会出错;