怎样让搜索出来的关键字变红色?

GengWH 2008-05-09 02:43:46
刚刚做完了公司布置的任务,上司检查时说我的搜索做的不好,要做成像百度那样,关键字显示成红色的,可想了这么长时间,没有思路,网上搜了些,都是Replace()方法的用法。
我搜索的结果是放在Datalist中的绑定的数据是用ds接收的。请问有没有什么好方法,让我把这个功能实现了?谢谢了。
...全文
851 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
pkown 2008-05-10
  • 打赏
  • 举报
回复
手动写个函数:
public string content(object show)
{
string content = (string)show;
content = content.Replace("关键字", "<font color='red'>关键字</font>");
return content;
}
绑定的数据:<%#content(Eval("ziduan"))%>
pt1314917 2008-05-10
  • 打赏
  • 举报
回复

//aspx页面:
<%#wsp(Eval("ss").ToString())%>

//cs文件:
public string wsp(string result)
{
if (TextBox1.Text.Trim() != "")//注:TextBox1.Text.Trim() 为搜索关键字
{
result = result.Replace(TextBox1.Text.Trim(), "<font color='red'>" + TextBox1.Text.Trim() + "</font>");
}
return result;
}
datahandler2 2008-05-10
  • 打赏
  • 举报
回复
sorry,太粗心了
<%#ReplaceStr(Eval("Title"))%>
这个传递的应该是string不是object类型。
最好是这样
<%#ReplaceStr(Eval("Title").ToString())%>
datahandler2 2008-05-10
  • 打赏
  • 举报
回复
你在datalist的模板列显示标题的时候用自定义函数再处理绑定的信息。
如:

<%#ReplaceStr(Eval("Title"))%>


public static string ReplaceStr(string strTitle)


string strReplace=@"<font color=red>"+strSearchKey+"</font>" ; //StrSearchKey为外界搜索关键字
strTitle.Replace(strSearchKey,strReplace);

return strTitle;


手动临时写了个样本,没测试过。具体个人想法是这样。参考看看
GengWH 2008-05-10
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 syc958 的回复:]
replace 关键字 为你自己定义的颜色关键字
[/Quote]
恩?它不是方法?
syc958 2008-05-09
  • 打赏
  • 举报
回复
replace 关键字 为你自己定义的颜色关键字
GengWH 2008-05-09
  • 打赏
  • 举报
回复
replace 怎么掉不出来啊?迷茫了?是不是没有导入哪个包啊?
闲游四疯 2008-05-09
  • 打赏
  • 举报
回复
你在页面CS中写个方法 public string show(string obj){..replace关键字...}
在页面绑定的时候调用这个方法就可以了。比如 <%#show(Eval("title"))%>
GengWH 2008-05-09
  • 打赏
  • 举报
回复
我搜索的结果是放在Datalist中的绑定的数据是用ds接收的,是不是也要循环啊,能不能点提供代码?
GengWH 2008-05-09
  • 打赏
  • 举报
回复
我搜索的结果是放在Datalist中的绑定的数据是用ds接收的,是不是还要循环啊?
dgl_1225 2008-05-09
  • 打赏
  • 举报
回复
str 是要变得字符串 "关键字" 是你要变颜色的部分<font color=red>关键字 </font> 是变完后的样子
AccessManager 2008-05-09
  • 打赏
  • 举报
回复
在vs里把replace(敲出来,不就知道后面的参数是啥意思了吗?
ReyZhang 2008-05-09
  • 打赏
  • 举报
回复
显示的时候Replace 就可以了
GengWH 2008-05-09
  • 打赏
  • 举报
回复
str=replace(str,"关键字","<font color=red>关键字</font>")
里面的参数都是深意思?
dgl_1225 2008-05-09
  • 打赏
  • 举报
回复
把要描红的字拿出来 replace成<red>以前的字</red>
GengWH 2008-05-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Sandy945 的回复:]
显示的时候Replace
[/Quote]
能不能说的详细一点?
一夜清懈 2008-05-09
  • 打赏
  • 举报
回复
显示的时候Replace

阿非 2008-05-09
  • 打赏
  • 举报
回复
显示的时候Replace
wangkun9999 2008-05-09
  • 打赏
  • 举报
回复
lz做的数据库搜索,百度做的是垂直搜索,性质完全不一样.
现在网上的搜索技术都有特定的描红方法,如lucene里面的Lucene.Net.Search.Highlight类可以设置关键字描红.

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧