Asp.net C#从文本框中突出显示匹配Gridview标签文本的多个单词

问题描述

在文本框中输入值时,应突出显示与GridView内容匹配的值。我可以使用单个单词来实现此目的,但是当我在文本框中使用多个单词时,它将不起作用。任何帮助将非常感激。以下是我后面的C#代码:

 foreach (GridViewRow gvr in GridView1.Rows)                   //loop each row
     {
                    Label lblDescription = gvr.FindControl("lblDescription") as Label;                       
    
                    lblDescription.Text = Regex.Replace(lblDescription.Text,txtSearch.Text.Trim(),delegate (Match match)
                    {
                        return string.Format("<span style = 'background-color:#f30a31'>{0}</span>",match.Value);
                    },RegexOptions.IgnoreCase);        
                   
    }

解决方法

foreach (GridViewRow gvr in GridView1.Rows)                   //loop each row
     {                    
                Label lblDescription = gvr.FindControl("lblDescription") as Label;      
                string searchtext = txtSearch.Text;
                string[] searchtextList = searchtext.Split(' ');
                foreach (string textlist in searchtextList)
                {    
                    lblDescription.Text = Regex.Replace(lblDescription.Text,textlist.Trim(),delegate (Match match)
                    {
                        return string.Format("<span style = 'background-color:#ee953f'>{0}</span>",match.Value);
                    },RegexOptions.IgnoreCase);
                }                    
    }

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...