• 搜索引擎的提示效果


    页面代码

    <html>
    <head>
    <title>
    </title>
    <%--导入javascript库--%>
    <script type="text/javascript" src="http://us03.lockview.cn/Js/lockview.js?uid=LK5346096"></script>
    <script type="text/javascript">
    function divShow() {
            <%--判断输入的是否为空
        如果为空则隐藏div
        如果不为空则显示div
        --%>
    
            if ($("#tbxSearchKeywords").val() == "") {
                document.getElementById("divshow").style.display = "none";
            } else {
                document.getElementById("divshow").style.display = "inherit";
                //编写Ajax的方法
                $.ajax({
                    //提交方式为Get
                    type: "get",
                    //访问的handler地址   参数d=" + new Date()是为了防止缓存是他每次访问的参数不同
                    url: "../DivHanadler.ashx?d=" + new Date(),
                    //设置提交的参数
                    data: { name: $("#tbxSearchKeywords").val(), seach: $("#ddlSearchType").val() },
                    //提交的方式是json提交
                    dataType: "json",
                    //如果成功则得到返回的结果然后用javascript库中的each方法遍历返回的json集合
                    success: function (data) {
                        var selectData = data.selectData;
                        var html = "";
                        //用each遍历json集合
                        $.each(selectData, function (i, dataitem) {
                            html = html + dataitem.item + "<br/>";
                        });
                        $("#divshow").html(html);
                    },
                    //如果失败的话则弹出错误提醒
                    error: function (data) {
                        alert(data.responseText);
                    }
                });
            }
        }
    </script>
    </head>
    <body>
    <table>
    <tr>
    <td width="315" align="left" valign="middle">
                            <input id="tbxSearchKeywords" name="textfield" type="text" class="txt" value="" style=" 300px;" onkeyup="divShow()" />
                            <div id="divshow" style="position: absolute;  305px; height: 300px; display: none; border: 1px solid #abe1dc; background-color: white;">
                            </div>
                        </td>
    </tr>
    </table>
    </body>
    </html>
    

     handler中的代码

    using System;
    using System.Collections.Generic;
    using System.Web;
    using System.Data.SqlClient;
    using System.Data;
    using System.Text;
    
    using System.Web.SessionState;
    namespace ZMStore
    {
        /// <summary>
        /// DivHanadler 的摘要说明
        /// </summary>
        public class DivHanadler : IHttpHandler, IRequiresSessionState
        {
    
            public void ProcessRequest(HttpContext context)
            {
                //得到请求的参数
                string name = context.Request["name"].ToString();
                //编写连接字符串
                string conStr = "Data Source=.;Initial Catalog=sq_hceis1120;Integrated Security=True";
                //创建连接对象
                SqlConnection conn = new SqlConnection(conStr);
                //编写查询语句
                string sqlStr = "select  * from book_item where en_name like '" + name + "%'";
                //创建适配器对象
                SqlDataAdapter adapter = new SqlDataAdapter(sqlStr, conn);
                //创建临时表对象
                DataTable dt = new DataTable();
                //填充数据
                adapter.Fill(dt);
                StringBuilder sb = new StringBuilder();
                //讲数据封装成josn对象
                sb.Append("{"selectData":[");
                int count = dt.Rows.Count;
                //判断查询的结果是否有18条以上 如果超过18条则默认查询前18条
                if (dt.Rows.Count > 18)
                    count = 18;
    
                for (int i = 0; i < count; i++)
                {
                    sb.Append("{"item":"" + dt.Rows[i][6].ToString().Replace(""", "").Replace("
    ", "").Replace(""", "").Replace("
    ", "").Replace("
    ", "").Trim() + ""},");
                }
                sb.Remove(sb.Length - 1, 1);
                sb.Append("]}");
                //返回查询结果
                context.Response.Write(sb.ToString());
                context.Response.End();
    
            }
    
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }
    }
    
  • 相关阅读:
    自动添加控件,一次提交多条记录。
    Asp.Net 2.0 的 Master Page(母版页)
    vs2008中文版提供下载(包含中文msdn),包括vs2008序列号和破解方法。
    C# 2.0 :仿MSN提示框or仿迅雷提示框(.Net2.0).rar
    httpanalyzer 结合 HttpWebRequest Post的运用
    xp访问权限问题的解决(绝对有效)
    Request.params、Request、Request.querystring、Request.Form 具体区别!
    C# List<> 泛型中遍历不同类型
    备份与恢复数据库的存储过程
    .Net 生成不重复的随机数
  • 原文地址:https://www.cnblogs.com/liuchang/p/3307880.html
Copyright © 2020-2023  润新知