最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net和ajax實現(xiàn)智能搜索功能代碼

 更新時間:2010年03月04日 19:44:26   作者:  
近來一直在開發(fā)股票模擬系統(tǒng),終于告一段落了,回想起來感慨很多。突然想應該做點總結了,想來想去還是覺得通過寫點日志來把相關的知識點記錄下來,下面就我在項目中經(jīng)常用到的動態(tài)提示搜索選項功能的實現(xiàn)。
第一步,先做好搜索頁面
復制代碼 代碼如下:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>無標題頁</title>
<script language=javascript src=JScript.js type="text/javascript" ></script>
<style>
#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;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div align=center style="padding-top:100px">
<input id="searchTxt" onkeyUp="startRequest(this.value)" /> <!-- 輸入框 -->
</div>
<div id="result" align="center"> <!-- 下拉搜索框 -->
<div class="firstHang">
<b>搜索</b><b>標題</b>
</div>
<div id="stockListDiv"></div>
</div>
</form>
</body>
</html>
<script language="javascript">
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";
}
</script>

第二步,添加返回搜索結果的頁面,該頁面由于不用在客戶端顯示,所以就不用做界面。
復制代碼 代碼如下:

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  '獲取搜索內(nèi)容
Dim searchResult As New StringBuilder
If IsNumeric(searchContent) Then '判斷是否為數(shù)字,輸入不同的內(nèi)容
searchResult.Append("<div class='otherHang'><nobr>11</nobr><nobr>11</nobr></div>")
searchResult.Append("<div class='otherHang'><nobr>22</nobr><nobr>22</nobr></div>")
searchResult.Append("<div class='otherHang'><nobr>22</nobr><nobr>22</nobr></div>")
Else
searchResult.Append("<div class='otherHang'><nobr>aa</nobr><nobr>aa</nobr></div>")
searchResult.Append("<div class='otherHang'><nobr>bb</nobr><nobr>bb</nobr></div>")
searchResult.Append("<div class='otherHang'><nobr>cc</nobr><nobr>cc</nobr></div>")
End If
Response.Write(searchResult.ToString) '向客戶端發(fā)送結果
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();
//設置請求狀態(tài)變化調(diào)用的方法
xmlHttp.onreadystatechange=handleState;
//建立對服務器的調(diào)用
var url="Search.aspx?content="+escape(content); '發(fā)送頁面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}
}

最后實現(xiàn)的效果如下:

相關文章

  • 壓縮aspx頁面刪除多余空格的兩種方法

    壓縮aspx頁面刪除多余空格的兩種方法

    這篇文章主要介紹了壓縮aspx頁面移除多余空格的兩種方法,可以在發(fā)布頁面之前壓縮aspx,無須浪費web server的cpu,需要的朋友可以參考下
    2014-02-02
  • ASP.NET Core緩存靜態(tài)資源示例詳解

    ASP.NET Core緩存靜態(tài)資源示例詳解

    我們在優(yōu)化Web服務的時候,對于靜態(tài)的資源文件,通常都是通過客戶端緩存、服務器緩存、CDN緩存,這三種方式來緩解客戶端對于Web服務器的連接請求壓力的。下面這篇文章主要給大家介紹了關于ASP.NET Core緩存靜態(tài)資源的相關資料,需要的朋友可以參考下。
    2018-02-02
  • ASP.NET Cookie 操作實現(xiàn)

    ASP.NET Cookie 操作實現(xiàn)

    本節(jié)中的主題描述如何在 ASP.NET Web 應用程序中創(chuàng)建 Cookie。Cookie 是一些小的文本文件,服務器和瀏覽器在收到每個頁請求時交換它們,您還可以使用這些小文本文件來存儲幫助針對每個用戶自定義您的應用程序的信息。
    2009-11-11
  • 記Asp.Net Core Swagger使用并帶域接口處理的方法

    記Asp.Net Core Swagger使用并帶域接口處理的方法

    這篇文章主要介紹了記Asp.Net Core Swagger使用并帶域接口處理的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • VS2010發(fā)布Web網(wǎng)站技術攻略

    VS2010發(fā)布Web網(wǎng)站技術攻略

    本篇文章主要包含了完整的發(fā)布網(wǎng)站步驟、發(fā)布網(wǎng)站過程中可能遇到的問題,以及配套的解決方法,相信感興趣的朋友一定會喜歡這篇文章的
    2015-07-07
  • ASP.NET學習CORE中使用Cookie身份認證方法

    ASP.NET學習CORE中使用Cookie身份認證方法

    本篇文章主要給大家詳細分析了ASP.NET學習CORE中使用Cookie身份認證方法以及相關的實例代碼,有需要的朋友參考下吧。
    2018-01-01
  • .Net獲取URL中文參數(shù)值的亂碼問題解決方法總結

    .Net獲取URL中文參數(shù)值的亂碼問題解決方法總結

    這篇文章主要介紹了.Net獲取URL中文參數(shù)值的亂碼問題解決方法,總結分析了針對URL參數(shù)傳遞中出現(xiàn)的亂碼問題與相應的解決方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • asp.net 驗證碼的簡單制作(vb.net+C#)

    asp.net 驗證碼的簡單制作(vb.net+C#)

    asp.net中實現(xiàn)簡單驗證碼的方法,需要的朋友可以參考下
    2012-05-05
  • 簡單談談.NET Core跨平臺開發(fā)

    簡單談談.NET Core跨平臺開發(fā)

    本文給大家詳細介紹了如何使用.NET Core進行跨平臺開發(fā),包含簡單的環(huán)境架設以及配置,以及使用vs進行編譯運行項目和注意事項,有需要的小伙伴可以參考下
    2016-07-07
  • 使用Aspose.Cells組件生成Excel文件實例

    使用Aspose.Cells組件生成Excel文件實例

    這篇文章主要介紹了使用Aspose.Cells組件生成Excel文件的方法,大家參考使用吧
    2013-11-11

最新評論

从化市| 白河县| 紫阳县| 凤山市| 穆棱市| 青冈县| 京山县| 洪洞县| 东源县| 耿马| 托里县| 广元市| 滨海县| 龙海市| 中牟县| 静宁县| 常宁市| 大埔县| 江安县| 临江市| 绿春县| 桦南县| 仙游县| 阿瓦提县| 西乌珠穆沁旗| 镇巴县| 万宁市| 玉门市| 东阿县| 隆昌县| 怀来县| 西青区| 禄劝| 淮滨县| 宣武区| 巴马| 大埔区| 临沂市| 成安县| 大邑县| 金昌市|