The Last Day Of Summer

.NET技术 C# ASP.net ActiveReport SICP 代码生成 报表应用 RDLC
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用asp.net进行多关键字查询的例子

Posted on 2006-03-21 11:01  Cure  阅读(1614)  评论(3编辑  收藏  举报
下面的代码演示了如何对一段文本进行多关键字查询并高亮显示,给自己做为一个小tip保留下
<%@ Page Language="C#" Debug="False" Strict="True" Explicit="True" Buffer="True"%>
<%@ Import Namespace="System" %>
<html>
<head>
<title></title>
</head>
<style type="text/css">
.highlight 
{text-decoration:none; font-weight:bold; color:white; background:blue;}
</style>
<body bgcolor="#FFFFFF" topmargin="0"  onLoad="document.forms[0].keywords.focus();">
<script language="C#" runat="server">
void Page_Load(Object Source, EventArgs E) 
{
LabelTxt.Text 
= "Give the proper respect to hand-coding.You should both respect and loathe handwritten code. You should 

respect it because there are often special cases integrated into code that are overlooked with a cursory inspection. When 

replacing code you’ve written by hand, you need to make sure you have the special cases accounted for. You should loathe 

hand-code because engineering time is extremely valuable, and to waste it on repetitive tasks is nearly criminal. The goal 

of your generator should always be to optimize the organization’s most valuable assets.the creativity and enthusiasm of 

the engineering team.
"
}

public string Highlight(string Search_Str, string InputTxt) 

    Regex RegExp 
= new Regex(Search_Str.Replace(" ""|").Trim(), RegexOptions.IgnoreCase);
    
return RegExp.Replace(InputTxt, new MatchEvaluator(ReplaceKeyWords)); 
    RegExp 
= null;
}

public string ReplaceKeyWords(Match m) 
{
    
return "<span class=highlight>" + m.Value + "</span>"
}

public 
void ButtonClick(Object sernder,System.EventArgs e )
{
    LabelTxt.Text 
= Highlight(keywords.Text, LabelTxt.Text);
}

</script>
<H3></H3><BR>
<form runat="server" method="post">
<asp:TextBox id="keywords" runat="server"/>
<asp:Button id="button" Text="Submit" runat="server" OnClick="ButtonClick"/><br><br>
<asp:Label id="LabelTxt" runat="server"/>
</form>
</body>
</html>