Asp.net 中高亮显示搜索关键字简单方法
今天用到搜索时的高亮显示,百度了一下,如下面:
public static string ReplaceRed(string strtitle, string redkey) { if (redkey == "" || redkey == null) { return strtitle; } else strtitle = strtitle.Replace(redkey, " <font color='#ff0000'>" + redkey + " </font>"); return strtitle; }
2.用正则,CSS背景变色。
protected string HighlightText(string inputText,string searchWord) { System.Text.RegularExpressions.Regex expression = new System.Text.RegularExpressions.Regex(searchWord.Replace(" ", "|"), System.Text.RegularExpressions.RegexOptions.IgnoreCase); return expression.Replace(inputText,new System.Text.RegularExpressions.MatchEvaluator(ReplaceKeywords)); } public string ReplaceKeywords(System.Text.RegularExpressions.Match m) { return "<span class='highlightTxtSearch'>" + m.Value + "</span>"; }
CSS:
.highlightTxtSearch { background-color:Yellow; }
上面的方法固然用着不错,但感觉过于繁琐。于是试着用下面的方法:
//声明关键字数组
string[] m_Key = new string[] { };
//搜索关键字不空,就执行替换
if
(!string.IsNullOrEmpty(Request.QueryString["SearchKey"]))//或者 if
(!string.IsNullOrEmpty(txtSearchKey.Text.Trim()))
{
//搜索关键字以空格隔开
m_Key = Request.QueryString["SearchKey"].Split(new char[] { ' ' });
for (int i = 0; i < m_Key.Length; i++)
{
lblOptimumRoad.Text =
modelRoadSearch.OptimumRoad.Replace(m_Key[i], "<span
class='highlightTxtSearch'>" + m_Key[i] + "</span>");
//如果在gridview中,可以在RowDataBound事件中进行判断,然后e.Row.Cells[3].Text
= e.Row.Cells[3].Text.Replace(m_SearchKey[i], "<span
class='highlightTxtSearch'>"+m_SearchKey[i]+"</span>");
}
}
else
{
//搜索关键字为空,则是从其它页面转来,不用高亮关键字
lblOptimumRoad.Text = modelRoadSearch.OptimumRoad;
}
不管这种方法效率如何,但感觉用着挺方便的。
Asp.net 中高亮显示搜索关键字简单方法的更多相关文章
- ASP.net中导出Excel的简单方法介绍
下面介绍一种ASP.net中导出Excel的简单方法 先上代码:前台代码如下(这是自己项目里面写的一点代码先贴出来吧) <div id="export" runat=&quo ...
- 在 Angular 中实现搜索关键字高亮
在 Angular 中,我们不应该试图直接修改 DOM 的内容,当需要更新 DOM 内容的时候,应该修改的其实是我们的数据模型,也就是 $scope 中的数据,Angular 会帮助我们将修改之后的数 ...
- ASP.NET中登录功能的简单逻辑设计
ASP.NET中登录功能的简单逻辑设计 概述 逻辑设计 ...
- ASP.NET中XML转JSON的方法
原文:ASP.NET中XML转JSON的方法 许多应用程序都将数据存储为XML的格式,而且会将数据以JSON的格式发送到客户端以做进一步处理.要实现这一点,它们必须将XML格式转换为JSON格式. X ...
- Centos7 中 Node.js安装简单方法
最近,我一直对学习Node.js比较感兴趣.下面是小编给大家带来的Centos7 中 Node.js安装简单方法,在此记录一下,方便自己也方便大家,一起看看吧! 安装node.js 登陆Centos ...
- 在window的IIS中搭配Php的简单方法
在window的IIS中搭配Php的简单方法.搭配php的时候找到的一个超级简单方法 关键的核心是 PHP Manager for IIS 这是微软开发的一个项目,使用它可以在window下最方便简单 ...
- ASP.NET中26种性能优化方法
系统类 Type类,Object类,String类, Arrary类,Console类, Exception类,GC类, MarshalByRefObject类, Math类. DateTime结构 ...
- 在Asp.Net中使用SmtpMail发送邮件的方法
在ASP中,就可以通过调用CDONTS组件发送简单邮件,在ASP.Net中,自然也可以.不同的是,.Net Framework中,将这一组件封装到了System.Web.Mail命名空间中. 一个典型 ...
- 慎重Asp.net中static变量的使用方法
在.Net平台下进行CS软件开发时,我们常常遇到以后还要用到某些变量上次改动后的值,为了简单起见,非常多人都习惯用static来定义这些变量,我也是.这样非常方便.下一次调用某个函数时该变量仍然保存的 ...
随机推荐
- python 获取进程执行的结果
import subprocessp = subprocess.Popen([r'ls'],stdout=subprocess.PIPE) result = p.stdout.read()print( ...
- http cookie的domain使用
问题描述 最近遇到了一个因cookie domain设置不正确导致公司自研的分布式session组件无法生效的问题. 公司自研的这套分布式session组件依赖于设置在cookie中的sessionI ...
- R语言绘制正太分布图,并进行正太分布检验
正态分布 判断一样本所代表的背景总体与理论正态分布是否没有显著差异的检验. 方法一概率密度曲线比较法 看样本与正太分布概率密度曲线的拟合程度,R代码如下: #画样本概率密度图s-rnorm(100 ...
- js中对象的一些特性,JSON,scroll家族
一.js中对象的一些特性 对象的动态特性 1.当对象有这个属性时,会对属性的值重写 2.当对象没有这个属性时,会为对象创建一个新属性,并赋值 获得对象的属性的方式 为元素设置DOM0级事件 二.JSO ...
- 雷林鹏分享:Ruby CGI方法
Ruby CGI方法 以下为CGI类的方法列表: 序号方法描述 1CGI::new([ level="query"]) 创建 CGI 对象.query可以是以下值: query: ...
- LRIP UVALive - 7148 (点分治)
大意: 给定树, 每个点有点权, 求最长非减树链, 满足树链上最大值与最小值之差不超过D 点分治, 线段树维护最小值为$x$时的最长非增和非减树链即可. 实现时有技巧是翻转一下儿子区间, 这样可以只维 ...
- win32程序应用mfc库
引入<afx.h> 此时会出现如下错误: #ifdef _DLL#ifndef _AFXDLL#error Building MFC application with /MD[d] (CR ...
- linux中安装tomcat
01.去官网下载指定的安装包http://tomcat.apache.org/download-70.cgi 链接地址 02.在software目录下 使用命令wget 刚才复制的地址即可 03.使用 ...
- iOS笔记之线程
dispatch_after dispatch_after能让我们添加进队列的任务延时执行,比如想让一个Block在10秒后执行: var time = dispatch_time(DISPATCH_ ...
- <NET CLR via c# 第4版>笔记 第8章 方法
8.1 实例构造器和类(引用类型) 构造引用类型的对象时,在调用类型的实例构造器之前,为对象分配的内存总是先被归零 .没有被构造器显式重写的所有字段都保证获得 0 或 null 值. 构造器不能被继承 ...