产品使用及交流论坛

注册

 

QQ登录

只需一步,快速开始

发新话题 回复该主题

文章资讯搜索模型标题模糊搜索无效 [复制链接]

1#
我做了一下几个操作:
1.复制了文章资讯表单的搜索代码
2.将代码复制到网站对应模块,能够正确显示
3.不需要任何条件时,搜索出所有文章资讯类别的文字,也能够通过分类返回搜索结果,输入完整的标题可以匹配。但是,标题模糊搜索功能失效,无法进行模糊匹配~求教高人怎么解决?
PS:文章资讯的表单中已经设置了标题项作为模糊匹配,没有修改默认的搜索模型。代码如下:
<ul class="article">
<%
string Line;
DataTable dt=Get_Data();
DataRow dr;
if(dt.Rows.Count>0)
{
for(int i=0;i<dt.Rows.Count;i++)
{
dr=dt.Rows[i];
if(((i+1)%5)==0)
{
  Line="<li class='line'></line>";
}
else
{
  Line="";
}
%>
<li class="search"><span class="title">
<a href="<%=Detail_Url(dr)%>" target="_blank" title="<%=Server.HtmlEncode(dr["title"].ToString())%>" style="<%=dr["pa_style"]%>"><%=SubStr(dr["title"].ToString(),100,true)%></a></span>
<span class="date"><%=((DateTime)dr["thedate"]).ToString("yyyy-MM-dd")%></span>
</li><%=Line%>
<%
}
}
else
{
Response.Write("无匹配的记录,请更换关键字重新搜索!");
}
%>
</ul>
分享 转发
TOP
2#

这个问题就没有人能够解决吗?开发这个程序的老大们?说话啊!!
TOP
3#

到字段管理里面去把标题设置为模糊搜索

然后重新去获取搜索表单粘贴替换掉旧的表单代码
TOP
4#

OK了,谢谢xiyou老大!!谁如果还遇到此类问题,可参考楼上解决办法。不过感到奇怪的是,原来那块就是设置的“模糊“啊!呵呵~反正多折腾几次好了就好。
TOP
5#

补充一下,原来以为xiyou的办法是见效的,后来才发现还是不行!!!!
之所以解决了此问题是由于我把”产品搜索模型“里的代码粘到了”文章资讯搜索模型“里:
具体办法是:
“表单模型管理”————自定义表单————文章资讯的“功能模型”---文章模型---模型设置,粘贴如下代码(从产品搜索模型代码修改而来):

<script language="C#" Runat="server">
private string SqlFormat(string str)
   {
    if(str=="" || str==null)
     {
       return "";
      }
    str=str.Replace("_","[_]");
    str=str.Replace("%","[%]");
    str=str.Replace("'","''");
    str=str.Replace("\"","\"");
    if(str.Length>20)
    {
      str=str.Substring(0,20); //截取前20个字符
     }
    return Server.HtmlEncode(str);
   }
</script>

<script type="text/javascript">
function  c_keyword()
{
  if($("title").value=="")
  {
    alert("请输入关键词!");
    $("title").focus();
    return false;
  }
}
</script>


<ul class="article">
<%
string kw=SqlFormat(Request.QueryString["title"]);//一定要SqlFormat格式化,否则容易被sql注入
Sql_Condition="and (title like '%"+kw+"%' or content like '%"+kw+"%')";//构造搜索条件
DataTable dt=Get_Data();
DataRow dr;
if(dt.Rows.Count>0)
{
%>
<li style="clear:both;float:none;height:30px;display:block;text-align:left;padding:0 0 0 0">查询到<%=RecordCount%>条有关记录。</li>
<%
for(int i=0;i<dt.Rows.Count;i++)
{
dr=dt.Rows;
%>
<li>
<span class="title"><a href="<%=Detail_Url(dr)%>" target="_blank" title="<%=Server.HtmlEncode(dr["title"].ToString())%>"><%=SubStr(dr["title"].ToString(),50,true)%></a></span>
</li>
<%
}
}
else
{
  Response.Write("无匹配的记录,请更换关键字重新搜索!");
}
%>
</ul>
TOP
6#

这样不仅可以搜到标题还可以搜到内容里匹配的文字,供大家参考。我试着看了其它的程序模板,都没有问题啊,比如政府那个绿色的模板,用原来的可以进行模糊查询的。
TOP
发新话题 回复该主题