用ajax控件作的高级搜索
最近在学习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;">
<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控件作的高级搜索相关推荐
- asp.net ajax控件工具集 AutoCompleteExtender控件
当我们在搜索框输入关键字的时候,Google会自动列出相关关键字提示.用asp.net Ajax AutoCompleteExtender控件实现 运行环境行vs 2008 .net 3.5sp1 ...
- Asp.net.Ajax控件学习
Asp.net.Ajax控件学习: 1. Accordion 功能: 实现了QQ.Msn好友分类的折叠效果,就像包含了多个CollapsiblePanels . 2. AlwaysVi ...
- 探讨微软ASP.NET AJAX控件开发技术(服务器端)
一.简介 到目前为止,我们已经讨论了开发Ajax控件所涉及的客户端相关技术.现在,让我们来讨论此过程中与服务器端相关的一些技术. 需要说明的是,在[客户端]篇中我们的举例本质上仅是使用ASP.NET ...
- AJAX并不神秘:揭密各种AJAX控件和类库
Ajax控件和类库现在真的太多了,不知不觉中增加了Ajax的神秘性和复杂性,看到版内很多人为此费解和伤神,决定发此贴谈谈本人对Ajax的观点,希望能让大家对Ajax有一个本质的认识. 观点一:Ajax ...
- SAP UI5 应用开发教程之六十 - SAP UI5 地图控件的一些高级用法试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...
- Android AutoCompleteTextView控件实现类似百度搜索提示,限制输入数字长度
Android AutoCompleteTextView 控件实现类似被搜索提示,效果如下 1.首先贴出布局代码 activity_main.xml: <?xml version="1 ...
- ajax控件扩展,22.6 扩展控件
22.6 扩展控件 ASP.NET AJAX在扩展已有控件方面占有很大的优势,它为创建新的扩展控件提供了一个框架,目前没有扩展控件,但使用ASP.NET AJAX控件工具集可以得到许多扩展控件.本节 ...
- 转载:Ajax控件视频教程下载地址
1.ASP.NET AJAX基本原理 电信下载:[url=ftp://Anonymous@203.191.150.171/A008jcft20070123.rar]ftp://Anonymous@20 ...
- AJAX之四 Ajax控件工具集
[学习目标] F 理解并掌握ScriptManager控件的使用 F 了解ScriptManager控件的使用 F 理解并掌握Timer控件的使用 F 理解并掌握UpdateP ...
最新文章
- 虚拟机+CentOS内核hack7、8、9、17失败记
- Mysql多表查询(案例2)
- eclipse警告与报错的修复
- NET(C#):await返回Task的async方法
- Python使用socketServer包搭建简易服务器过程详解
- 5-14卷积神经网添加正则化
- Using LogMiner
- DataSet.GetBookMark内存泄漏
- MySQL中 limit和offset用法
- 【原创】大叔经验分享(11)python引入模块报错ImportError: No module named pandas numpy...
- 用java编写英寸到厘米的转换_像素、英寸、厘米的换算 - flyinglife - JavaEye技术网站...
- string字符串输入
- 解析儿童编程中的基本概念与目标
- http://bigwhite.blogbus.com/logs/1347304.html
- ceil函数和round函数的用法
- class-validator中文教程
- 深度学习模型调试和监控(7.2)
- QT中Json的使用方法(类和json字符串相互转换的方法)
- 付费订阅故事难讲,腾讯音乐如何“过河”?
- cad2016中选择全图字体怎么操作_PPT替换字体不得不说的3种方法,节省超多时间!...
热门文章
- C++中全排列算法函数next_permutation的使用方法
- 利用jmap和MAT等工具查看JVM运行时堆内存
- callable函数 stride的意义 Math.round(),Math.ceil(),Math.floor()用法
- 运维调试记录:Opendaylight铍版本开发环境搭建流程
- Java 文件和byte数组转换
- Python~第三方模块
- SQLite3-各个函数
- 【docker】【Gitlab】gitlab中clone项目时,IP地址是一串数字(内网Gitlab的IP地址不正确)的问题解决...
- find 和 findindes
- Luogu P4916 魔力环