最近在学习ajax控件,感觉很好的,第一次使用,做的有点乱。把原代码发来看看!

前台代码:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true">
    </asp:ScriptManager>
    <div style="margin: 0 auto; width: 954px; clear: both;">
        <div class="menuy">
            <ul>
                <li><a href="/">童城首页</a></li><li><a href="/Enterprise.aspx">企业大全</a></li>
                <li><a href="/Kucun.aspx">库存二手</a></li>
                <li><a href="/service.aspx">服务类别</a></li>
                <li><a href="/buyer.aspx">童车采购商</a></li>
                <li><a href="/news.aspx">童车资讯</a></li>
                <li><a href="/bbs/">童城社区</a></li>
            </ul>
        </div>
        <div class="blank2">
        </div>
        <div class="topBg bor">
            <div class="divsearch">
                <table width="100%" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                        <td width="200">
                            <asp:TextBox ID="txtKey" runat="server" CssClass="inputcss">请输入你要查询的关键字</asp:TextBox>
                        </td>
                        <td width="100">
                            <label>
                                <select name="select" id="select" οnchange="changeSearch()">
                                    <option value="0">产品信息</option>
                                    <option value="1">客户信息</option>
                                    <option value="2">新闻资讯</option>
                                    <option value="3">经营案例</option>
                                    <option value="4">企业大全</option>
                                </select>
                            </label>
                        </td>
                        <td id="contentTD">
                            <div id="sear1">
                                <span style="float: left;">产品类别:<select name="select" id="selectpros" οnchange="changeprotype()">
                                    <option>请选择产品类型</option>
                                    <option value="0">童车系列</option>
                                    <option value="1">童车配件系列</option>
                                </select></span> <span style="float: left; display: none;" id="spBuggle">
                                    <asp:DropDownList ID="bugglelist" runat="server">
                                    </asp:DropDownList>
                                    市场区域:<asp:DropDownList ID="continentlist" runat="server">
                                    </asp:DropDownList>
                                </span><span style="float: left; display: none;" id="spFittings">
                                    <asp:DropDownList ID="fittingslist" runat="server">
                                    </asp:DropDownList>
                                </span><span>
                                    <asp:Button ID="butn_sPros" runat="server" Text=" 搜 索 " OnClick="butn_sPros_Click" /></span></div>
                            <div id="sear2">
                                信息类型:<asp:DropDownList ID="infotype" runat="server">
                                    <asp:ListItem Value="0">请选择</asp:ListItem>
                                    <asp:ListItem Value="1">代理信息</asp:ListItem>
                                    <asp:ListItem Value="2">项目合作</asp:ListItem>
                                    <asp:ListItem Value="3">服务信息</asp:ListItem>
                                </asp:DropDownList>
                                <asp:Button ID="butn_skehu" runat="server" Text=" 搜 索 " OnClick="butn_skehu_Click" /></div>
                            <div id="sear3">
                                资讯类别:<asp:DropDownList ID="aritcleCateslist" runat="server">
                                </asp:DropDownList>
                                <asp:Button ID="butn_snews" runat="server" Text=" 搜 索 " OnClick="butn_snews_Click" /></div>
                            <div id="sear4">
                                案例类别:<asp:DropDownList ID="caseList" runat="server">
                                    <asp:ListItem Value="0">请选择</asp:ListItem>
                                    <asp:ListItem Value="1">库存控制宝典</asp:ListItem>
                                    <asp:ListItem Value="2">库存控制案例</asp:ListItem>
                                </asp:DropDownList>
                                <asp:Button ID="butn_scase" runat="server" Text=" 搜 索 " OnClick="butn_scase_Click" /></div>
                            <div id="sear5">
                                <span style="float: left;">
                                    <asp:UpdatePanel ID="UpdatePanel2" runat="server">
                                        <ContentTemplate>
                                            <asp:DropDownList runat="server" ID="StatList">
                                                <asp:ListItem Value="0">省份</asp:ListItem>
                                            </asp:DropDownList>
                                            <asp:DropDownList runat="server" ID="CityList">
                                                <asp:ListItem Value="0">城市</asp:ListItem>
                                            </asp:DropDownList>
                                            <asp:DropDownList ID="lstWorkTypes" runat="server">
                                            </asp:DropDownList>
                                        </ContentTemplate>
                                        <Triggers>
                                            <asp:AsyncPostBackTrigger ControlID="StatList" EventName="" />
                                        </Triggers>
                                    </asp:UpdatePanel>
                                </span><span style="float: left;">&nbsp;
                                    <asp:Button ID="butn_shops" runat="server" Text=" 搜 索 " OnClick="butn_shops_Click" /></span>
                            </div>
                        </td>
                    </tr>
                </table>

<script language="javascript">
                    function changeSearch()
                    {
                      var obj = document.getElementById("select");
                      var sValue=obj.options[obj.options.selectedIndex].value;
                      for(var i=0;i<obj.options.length;i++)
                      {
                         document.getElementById("contentTD").childNodes[i].style.display="none";
                         if(obj.options[i].selected)
                         {
                            document.getElementById("sear"+(i+1)).style.display="block";
                         }                        
                      }                    
                    }
                    function $(id)
                    {
                     return document.getElementById(id);
                    }
                   
                    function changeprotype()
                    {
                       var obj = document.getElementById("selectpros");
                       var sValue=obj.options[obj.options.selectedIndex].value;
                       if(sValue=="0"){                                             
                         document.getElementById("spBuggle").style.display="block";
                         $("fittingslist").options.selectedIndex=0;
                         }                     
                       else                      
                         document.getElementById("spBuggle").style.display="none";                      
                       if(sValue=="1"){                                             
                         document.getElementById("spFittings").style.display="block";   
                             $("bugglelist").options.selectedIndex=0;
                             $("continentlist").options.selectedIndex=0;
                         }              
                       else                      
                         document.getElementById("spFittings").style.display="none";                      
                    }
                </script>

</div>
            <div class="lan_hot">
                热门关键字:
                <uc3:HotKeywordsModule ID="HotKeywordsModule1" runat="server" />
            </div>
        </div>
        <div class="bank">
        </div>
        <div class="ls_bg bor2 ">
            <div class="lan_hot lst_conn" id="connList">
                <asp:UpdateProgress ID="UpdateProgress1" runat="server">
                    <ProgressTemplate>
                        <div style="text-align: center; border: 1px solid #DAA516; padding-top: 6px; padding-bottom: 3px;
                            margin-bottom: 10px;" align="center">
                            正在加载数据,请稍候.....</div>
                    </ProgressTemplate>
                </asp:UpdateProgress>
                <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
                    <ContentTemplate>
                        <asp:Repeater ID="rptResults" runat="server">
                            <HeaderTemplate>
                                <ul>
                            </HeaderTemplate>
                            <ItemTemplate>
                                <li>
                                    <asp:Label runat="server" ID="lblPro"><a href='<%#string.Format("/{0}/{1}{2:yyyyMMdd}-{3}.html", Folder, HtmlType,Eval(DateType), Eval("PKID")) %>'target="_blank"><%#Eval(text)%></a></asp:Label>
                                    <asp:Label runat="server" ID="lblshop" Visible="false"><a href='<%#"/ShopInfo.aspx?id="+Eval("PKID") %>'target="_blank"><%#Eval(text)%></a>      </asp:Label>
                                </li>
                            </ItemTemplate>
                            <FooterTemplate>
                                </ul></FooterTemplate>
                        </asp:Repeater>
                    </ContentTemplate>
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="butn_snews" EventName="Click" />
                        <asp:AsyncPostBackTrigger ControlID="butn_scase" EventName="Click" />
                        <asp:AsyncPostBackTrigger ControlID="butn_sPros" EventName="Click" />
                        <asp:AsyncPostBackTrigger ControlID="butn_skehu" EventName="Click" />
                        <asp:AsyncPostBackTrigger ControlID="butn_shops" EventName="Click" />
                    </Triggers>
                </asp:UpdatePanel>
                <div align="center" style="margin-top: 10px;">
                    <asp:Label ID="lblNoList" Visible="false" runat="server" Text="对不起,未找到你想要的信息,请扩大范围重试!"></asp:Label></div>

<script language="javascript" type="text/javascript">ShowKeyBycolor()</script>

</div>
        </div>
    </div>

后台代码:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Display();
            LoadData();
            butn_snews.Attributes.Add("onclick", "buttonClick()");
            butn_skehu.Attributes.Add("onclick", "buttonClick()");
            butn_scase.Attributes.Add("onclick", "buttonClick()");
            butn_sPros.Attributes.Add("onclick", "buttonClick()");
            butn_shops.Attributes.Add("onclick", "buttonClick()");
            txtKey.Attributes.Add("onfocus", "keyFoucs()");
            txtKey.Attributes.Add("onblur","keyBlur()");
        }
    }
    public string text = "";//需要邦定的字符串字段
    public string Folder = "";
    public string HtmlType = "";
    public string DateType = "";
    public string HrefText = "";

void Display()
    {
        if (Request.QueryString["key"] != null && Request.QueryString["key"] != "")
        {
            Folder = "ProductsHtml";
            HtmlType = "product";
            text = "ProductName";
            DateType = "PublicDate";
            string keywords = Server.UrlDecode(Request.QueryString["key"]);
            DataSet ds = new DataSet();
            DataTable td1 = DataAccess.ExecuteDataSet(string.Format("select * from productsview where productname like '%{0}%' or Keywords like '%{0}%'",keywords)).Tables[0];
            //ds.Tables.Add(td1);
            rptResults.DataSource = td1;
            rptResults.DataBind();           
        }
    }

void LoadData()
    {
        Common.BindDropdwon(bugglelist,"select * from buggle");
        Common.BindDropdwon(continentlist,"select * from Continent");
        CFittings.BindFittings(fittingslist);
        Common.BindDropdwon(aritcleCateslist, "select * from articlecategories");
        Common.BindDropdwon(lstWorkTypes, "select * from shoptype");
    }

private StringBuilder sqlstr = new StringBuilder();

//查询产品
    protected void butn_sPros_Click(object sender, EventArgs e)
    {
        //AsyncPostBackTrigger asyTriger = new AsyncPostBackTrigger();
        //asyTriger.ControlID = "butn_sPros";
        //asyTriger.EventName = "Click";
        //UpdatePanel1.Triggers.Add(asyTriger);
        //System.Threading.Thread.Sleep(3000);
        Folder = "ProductsHtml";
        HtmlType = "product";
        DateType = "PublicDate";
        text = "ProductName";
       
        sqlstr.AppendFormat("select * from Products  where 1 = 1 ");
        if (txtKey.Text.Trim() == "请输入你要查询的关键字")
        {
            return;
        }
        if (txtKey.Text.Trim() != "")
        sqlstr.AppendFormat(" And Contains(ProductName,'{0}')", txtKey.Text.Trim());

if (bugglelist.SelectedIndex > 0)
        {
            sqlstr.AppendFormat(" And BuggleID = {0}",bugglelist.SelectedValue);
            if (continentlist.SelectedIndex > 0)
            {
                CContinent cont = new CContinent(int.Parse(continentlist.SelectedValue));
                sqlstr.AppendFormat(" And ContinentList like '%{0}%'", continentlist.SelectedItem.Text);
            }
        }
        if (fittingslist.SelectedIndex > 0)
        {
            sqlstr.AppendFormat(" And FittingsType = {0} ", fittingslist.SelectedValue);
        }
        //Response.Write(sqlstr.ToString());
        rptResults.DataSource = DataAccess.ExecuteDataSet(sqlstr.ToString());
        rptResults.DataBind();

}

//查询客户提供的信息
    protected void butn_skehu_Click(object sender, EventArgs e)
    {
        text = "Title";
        Folder = "PubInfohtml";
        HtmlType = "publicinfo";
        DateType = "PublicDate";

sqlstr.AppendFormat("select * from PublicInfo where 1 = 1");
        if (txtKey.Text.Trim() == "请输入你要查询的关键字")
        {
            return;
        }
        if (txtKey.Text.Trim() != "")
        sqlstr.AppendFormat(" And Contains(Title,'{0}') ", txtKey.Text.Trim());

if (infotype.SelectedIndex > 0)
        {
            sqlstr.AppendFormat(" And InfoType ={0} ",infotype.SelectedValue);
        }
        rptResults.DataSource = DataAccess.ExecuteDataSet(sqlstr.ToString());
        rptResults.DataBind();

}

//查询新闻资讯
    protected void butn_snews_Click(object sender, EventArgs e)
    {      
        //rptResults.DataSource = null;
        //rptResults.DataBind();
        //rptResults.Dispose();        
        text = "Title";
        Folder = "newshtml";
        HtmlType = "news";
        DateType = "PublicDate";

sqlstr.AppendFormat(" select * from Articles where 1 = 1 ");
        if (txtKey.Text.Trim() == "请输入你要查询的关键字")
        {
            return;
        }
        if (txtKey.Text.Trim() != "")
        sqlstr.AppendFormat(" And Contains(Title,'{0}')", txtKey.Text.Trim());
        if (aritcleCateslist.SelectedIndex > 0)
        {
            sqlstr.AppendFormat(" And ArticleCategoryID = {0}",aritcleCateslist.SelectedValue);
        }       
        rptResults.DataSource = DataAccess.ExecuteDataSet(sqlstr.ToString());
        rptResults.DataBind();
    }

//查询项目案例信息
    protected void butn_scase_Click(object sender, EventArgs e)
    {
        //System.Threading.Thread.Sleep(3000);
        //AsyncPostBackTrigger asy = new AsyncPostBackTrigger();
        //asy.ControlID = "butn_scase";
        //asy.EventName = "Click";
        //UpdatePanel1.Triggers.Add(asy);

//this.ScriptManager1.RegisterAsyncPostBackControl(this.butn_scase);

text="Title";
        Folder = "newshtml";
        HtmlType = "casenews";
        DateType = "PublicDate";
        //TemplateBuilder rptTemp = new TemplateBuilder();
        //rptTemp.AppendLiteralString("<li><%# DataBinder.Eval(Container.DataItem,\"CaseTypeName\")%></li>");
        //rptResults.ItemTemplate = rptTemp;

//rptResults.ItemDataBound += new RepeaterItemEventHandler(rptResults_ItemDataBound);
        //rptResults.ItemCreated += new System.Web.UI.WebControls.RepeaterItemEventHandler(rptResults_ItemCreated);  
        sqlstr.AppendFormat("select * from Casefor where 1 = 1 ");
        if (txtKey.Text.Trim() == "请输入你要查询的关键字")
        {
            return;
        }
        if(txtKey.Text.Trim()!="")
        sqlstr.AppendFormat(" And Contains(Title,'{0}') ", txtKey.Text.Trim());
        if (caseList.SelectedIndex > 0)
        {
            sqlstr.AppendFormat(" And CaseType = {0}",caseList.SelectedValue);
        }
        rptResults.DataSource = DataAccess.ExecuteDataSet(sqlstr.ToString());
        rptResults.DataBind();
    }

//查询商铺信息
    protected void butn_shops_Click(object sender, EventArgs e)
    {
        text = "ShopName";
        DateType = "RegistTime";    
        sqlstr.AppendFormat("select * from Shops where 1= 1 ");
        if (txtKey.Text.Trim() == "请输入你要查询的关键字")
        {
            return;
        }
        if (txtKey.Text.Trim() != "")
            sqlstr.AppendFormat(" And contains(shopname,'{0}') ", txtKey.Text.Trim());
        if (lstWorkTypes.SelectedIndex > 0)
        {
            sqlstr.AppendFormat(" And shopType = {0} ",lstWorkTypes.SelectedValue);
        }
        rptResults.DataSource = DataAccess.ExecuteDataSet(sqlstr.ToString());
        rptResults.DataBind();

for (int i = 0; i < rptResults.Items.Count; i++)
        {
            Label asplable = (Label)rptResults.Items[i].FindControl("lblshop");
            Label prolable = (Label)rptResults.Items[i].FindControl("lblPro");
            if (asplable == null) return;
            asplable.Visible = true;
            prolable.Visible = false;
        } 
    }

有些代码是自己用的代码库,可能不能用,评论一下就好了!
我的编码习惯不是很好,将就一下都。。

转载于:https://www.cnblogs.com/Longkin/articles/1200250.html

用ajax控件作的高级搜索相关推荐

  1. asp.net ajax控件工具集 AutoCompleteExtender控件

    当我们在搜索框输入关键字的时候,Google会自动列出相关关键字提示.用asp.net Ajax AutoCompleteExtender控件实现 运行环境行vs 2008 .net 3.5sp1   ...

  2. Asp.net.Ajax控件学习

    Asp.net.Ajax控件学习:  1.  Accordion 功能:     实现了QQ.Msn好友分类的折叠效果,就像包含了多个CollapsiblePanels .  2.  AlwaysVi ...

  3. 探讨微软ASP.NET AJAX控件开发技术(服务器端)

    一.简介 到目前为止,我们已经讨论了开发Ajax控件所涉及的客户端相关技术.现在,让我们来讨论此过程中与服务器端相关的一些技术. 需要说明的是,在[客户端]篇中我们的举例本质上仅是使用ASP.NET ...

  4. AJAX并不神秘:揭密各种AJAX控件和类库

    Ajax控件和类库现在真的太多了,不知不觉中增加了Ajax的神秘性和复杂性,看到版内很多人为此费解和伤神,决定发此贴谈谈本人对Ajax的观点,希望能让大家对Ajax有一个本质的认识. 观点一:Ajax ...

  5. SAP UI5 应用开发教程之六十 - SAP UI5 地图控件的一些高级用法试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  6. Android AutoCompleteTextView控件实现类似百度搜索提示,限制输入数字长度

    Android AutoCompleteTextView 控件实现类似被搜索提示,效果如下 1.首先贴出布局代码 activity_main.xml: <?xml version="1 ...

  7. ajax控件扩展,22.6 扩展控件

    22.6  扩展控件 ASP.NET AJAX在扩展已有控件方面占有很大的优势,它为创建新的扩展控件提供了一个框架,目前没有扩展控件,但使用ASP.NET AJAX控件工具集可以得到许多扩展控件.本节 ...

  8. 转载:Ajax控件视频教程下载地址

    1.ASP.NET AJAX基本原理 电信下载:[url=ftp://Anonymous@203.191.150.171/A008jcft20070123.rar]ftp://Anonymous@20 ...

  9. AJAX之四 Ajax控件工具集

    [学习目标] F    理解并掌握ScriptManager控件的使用 F    了解ScriptManager控件的使用 F    理解并掌握Timer控件的使用 F    理解并掌握UpdateP ...

最新文章

  1. 虚拟机+CentOS内核hack7、8、9、17失败记
  2. Mysql多表查询(案例2)
  3. eclipse警告与报错的修复
  4. NET(C#):await返回Task的async方法
  5. Python使用socketServer包搭建简易服务器过程详解
  6. 5-14卷积神经网添加正则化
  7. Using LogMiner
  8. DataSet.GetBookMark内存泄漏
  9. MySQL中 limit和offset用法
  10. 【原创】大叔经验分享(11)python引入模块报错ImportError: No module named pandas numpy...
  11. 用java编写英寸到厘米的转换_像素、英寸、厘米的换算 - flyinglife - JavaEye技术网站...
  12. string字符串输入
  13. 解析儿童编程中的基本概念与目标
  14. http://bigwhite.blogbus.com/logs/1347304.html
  15. ceil函数和round函数的用法
  16. class-validator中文教程
  17. 深度学习模型调试和监控(7.2)
  18. QT中Json的使用方法(类和json字符串相互转换的方法)
  19. 付费订阅故事难讲,腾讯音乐如何“过河”?
  20. cad2016中选择全图字体怎么操作_PPT替换字体不得不说的3种方法,节省超多时间!...

热门文章

  1. C++中全排列算法函数next_permutation的使用方法
  2. 利用jmap和MAT等工具查看JVM运行时堆内存
  3. callable函数 stride的意义 Math.round(),Math.ceil(),Math.floor()用法
  4. 运维调试记录:Opendaylight铍版本开发环境搭建流程
  5. Java 文件和byte数组转换
  6. Python~第三方模块
  7. SQLite3-各个函数
  8. 【docker】【Gitlab】gitlab中clone项目时,IP地址是一串数字(内网Gitlab的IP地址不正确)的问题解决...
  9. find 和 findindes
  10. Luogu P4916 魔力环