asp.net ajax 搜索功能,asp.net和ajax实现智能搜索功能代码

第一步,先做好搜索页面

复制代码代码如下:

无标题页

#result{

position:absolute;

width:150px;

height:auto;

margin:0px;

z-index:1;

font-size:14px;

border: 1px dashed #ccccc4;

display:none;

}

#result .firstHang{

background-color:#DDDDDD;

height:15px;

padding-top:5px;

}

#result b{

width:61px;

float:left;

}

#result nobr{

width:61px;

float:left;

}

#result .otherHang{

background-color:#FFFFFF;

height:15px;

padding-top:5px;

}

#content{

margin-left:0px;

padding-left:0px;

}

搜索标题

var obj=document.getElementById("result");

var rela=document.getElementById("searchTxt");

SetDivLocation(obj,rela);

function SetDivLocation(obj,rela) //设置下拉搜索框与输入框的相对位置

{

var x,y;

var oRect=rela.getBoundingClientRect(); //获得输入框的位置

x=oRect.left;

y=oRect.top;

obj.style.left=x+"px"; //这里要加上px,否则在fiexfox就会失效

obj.style.top=y+rela.offsetHeight+"px";

}

第二步,添加返回搜索结果的页面,该页面由于不用在客户端显示,所以就不用做界面。

复制代码代码如下:

Imports System.Text

Partial Class Search

Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Dim searchContent As String = Request("content").ToString  '获取搜索内容

Dim searchResult As New StringBuilder

If IsNumeric(searchContent) Then '判断是否为数字,输入不同的内容

searchResult.Append("

1111
")

searchResult.Append("

2222
")

searchResult.Append("

2222
")

Else

searchResult.Append("

aaaa
")

searchResult.Append("

bbbb
")

searchResult.Append("

cccc
")

End If

Response.Write(searchResult.ToString) '向客户端发送结果

Response.End() '关闭客户端输出流

End Sub

End Class

第三步就是最关键的一步了

复制代码代码如下:

// JScript 文件

var xmlHttp;

function cratexmlHttpRequest()

{

//判断是否为IE浏览器

if(window.ActiveXObject)

{

xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

}

else if(window.XMLHttpRequest)

{

xmlHttp=new window.XMLHttpRequest();

}

}

//启动对页面的请求

function startRequest(content)

{

cratexmlHttpRequest();

//设置请求状态变化调用的方法

xmlHttp.onreadystatechange=handleState;

//建立对服务器的调用

var url="Search.aspx?content="+escape(content); '发送页面url

xmlHttp.open("get",url,true);

xmlHttp.send(null);

}

function handleState()

{

try{

if(xmlHttp.readyState==4)

{

if(xmlHttp.status==200)

{

var data=xmlHttp.responseText; '得到搜索结果

var result=document.getElementById("result");

var stockListDiv=document.getElementById("stockListDiv");

if(data=="")            '如果搜索结果为空,不显示下拉框

{

result.style.display="none";

stockListDiv.innerHTML="";

}

else

{

stockListDiv.innerHTML=data;   '显示下拉框

result.style.display="block";

}

}

}

}

catch(error)

{error.message}

}

最后实现的效果如下:

1-1ZG510022IE.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值