如何在文章中进行关键字检索?

老站 2008-06-16 02:57:58
是这样的,我要做一个类似网易的那种,文章中有些关键字,移上去会有相关的新闻标题链接的效果,我看了很多,但好象没有哪个是符合我要求或者有相关的解决办法贴出来的,请大家帮帮忙,谢谢了!
类似这种
http://money.163.com/08/0616/02/4EHCKG5S00251RJ2.html

象是移到“资金”,它就会有一个div,显示有资金这个词的资讯。

我已经做了一个关键字索引数据表,储存了相关的字段,下一步我想就要是对页面显示内容进行过滤,将有关的字段标出来,移上去就根据鼠标移动的字段进行模糊查询,找出最新的几条记录出来。

思路不知道对不对?大家指教一下,最好是有相关的一些源码参考一下。别见怪,我只是去年学了一个多星期的.net,然后现在突然要用.net来开发,时间很紧的,请大家多帮忙!谢谢了!
...全文
653 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
老站 2008-07-11
  • 打赏
  • 举报
回复
请sam_1031@163.com进来,我好给分,谢谢啦
sam_1031 2008-07-11
  • 打赏
  • 举报
回复
http://user.qzone.qq.com/252280085/blog/1215500183,这里写的很清楚
老站 2008-07-10
  • 打赏
  • 举报
回复
感谢sam_1031@163.com的帮忙,让我已经检索出关键字,我也用了ajax进行触发,但现在出现一个问题,想请教一下大家
ajax触发方法后我是返回一个字符串的,里面是含有C#所写的方法代码,但只能在页面上显示一部分出来,造成无法正确读出索引的内容,不知大家是否碰到过,贴出代码,让大家看看

<asp:Repeater DataSource='<%# helper.Getlist('"+word+"')%>' EnableViewState='false' runat='server' ID='Repeater99'><ItemTemplate><li><a href='show.aspx?tag=<%# IDEncrypt(DataBinder.Eval(Container.DataItem,'id'))%>' target='_blank'><%# DataBinder.Eval(Container.DataItem,'title').ToString()%></a></li></ItemTemplate></asp:Repeater>

只显示了 EnableViewState='false' runat='server' ID='Repeater99'> 和 target='_blank'> 这两部分,我曾经用一篇文章放进去,可以显示出文,这下我就搞不懂了,我的QQ 767265109,谢谢!
老站 2008-07-03
  • 打赏
  • 举报
回复
哦,不好意思,上面的
string strUrl = " <a href='#' onclick=('"+strKeyWord +"')>" + strKeyWord + " </a>";

实际上我是写成
string strUrl = " <a href='#' onclick='post(\""+strKeyWord+"\")'>" + strKeyWord + " </a> ";
老站 2008-07-03
  • 打赏
  • 举报
回复
首先要谢谢sam_1031,发给我他曾用过的一段过滤,现在我已可以过滤出关键字了。但现在遇到一个问题。
由于我的关键字是不固定的,必须从数据库城读出再进行检索,数据比较大。所以我想,在过滤出关键字后,通过鉴定鼠标事件,传送当前关键字,对后台C#查找相关文章的方法进行触发,但现在不知如何成功触发,请大家指教一下。谢谢!
过滤代码:
public static string AddKeyWord(string strInfo, string strKeyWord)
{
string strInfos = "";
int count;
string strUrl = "<a href='#' onclick=('"+strKeyWord +"')>" + strKeyWord + "</a>";
//此句提示我script有错误,摸不着头脑
while (true)
{
count = strInfo.IndexOf("<");
if (count != -1)
{
strInfos += strInfo.Substring(0, count).Replace(strKeyWord, strUrl);
strInfo = strInfo.Substring(count);
count = strInfo.IndexOf(">");
if (count != -1)
{
if (strInfo.Substring(0, 2).ToLower() == "<a")
{
count = strInfo.ToLower().IndexOf("</a>") + 4;
strInfos += strInfo.Substring(0, count);
strInfo = strInfo.Substring(count);

}
else
{
count++;
strInfos += strInfo.Substring(0, count);
strInfo = strInfo.Substring(count);
}

}
else
{
strInfos += strInfo;
return strInfos;
}
}
else
{
strInfos += strInfo.Replace(strKeyWord, strUrl);
return strInfos;
}
}
}

aspx文件
<script>
function post(a){
alert("OK");//出错
此处不知如何触发
}
</script>
<asp:Repeater ID="Key" EnableViewState="false" runat="server" >
<ItemTemplate>
<li><%# DataBinder.Eval(Container, "DataItem.a").ToString()%></li>
</ItemTemplate>
</asp:Repeater>

后台方法
public void sBind(string word)
{
//关键字相关文章
DataSet ds = new DataSet();
ds = Content(word);//索引文章方法
this.Key.DataSource = ds;
this.Key.DataBind();
}

谢谢大家了,工程很急,但又及初次做。另发一唠骚,现在的公司是不是把所有程序员都当成万能的,啥语言都会,软件硬件一手包,布网安防一定强啊?倒,感觉自己象万金油了,哪痛搽哪儿,
xiaoniao_28 2008-06-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 keyake863 的回复:]
这个是有些固定的关键字列表,在发布文章时系统发现这些关键字时会加上鼠标悬停或者点击事件,在浏览时点击或者悬停时通过ajax调用文章列表标题。
[/Quote]
xcydj 2008-06-16
  • 打赏
  • 举报
回复
js和ajax都可以,关键还是看你的关键字是否固定
1.固定:js
2.不固定:ajax
mengfeihui 2008-06-16
  • 打赏
  • 举报
回复
关键字上用的是onmouseover事件,AJAX 实现无刷新数据传输,即显示在DIV中的数据,至于做的模糊查询就是SQL的写法了
关键是 like的使用。 比如 关键字是金钱
select *
from TABLE
where 字段名 like '%金钱%'
老站 2008-06-16
  • 打赏
  • 举报
回复
ajax是肯定要用到的,但我不知道怎么进行过滤,有人说用sql就行,但不知如何搞
大自然D使者 2008-06-16
  • 打赏
  • 举报
回复
用js比较好实现,楼主可以参考一下这篇文章:
http://www.xrss.cn/Dev/Other/200752313470.Html
keyake863 2008-06-16
  • 打赏
  • 举报
回复
这个是有些固定的关键字列表,在发布文章时系统发现这些关键字时会加上鼠标悬停或者点击事件,在浏览时点击或者悬停时通过ajax调用文章列表标题。
shoushii 2008-06-16
  • 打赏
  • 举报
回复
直接生成内容到客户端,然后用JS实现。
liyin_liu 2008-06-16
  • 打赏
  • 举报
回复
mark
khijfv2008 2008-06-16
  • 打赏
  • 举报
回复
是ajax吧,俱体得看个人处理方法了,

62,046

社区成员

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

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

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

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