最近在学习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;
}
}
我的编码习惯不是很好,将就一下都。。