在线求解决.
按件代码
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Search.ascx.cs" Inherits="WoodWorking.Web.UserControl.Search" %>
<!--搜索-->
<SCRIPT LANGUAGE= "JavaScript ">
function btnClick()
{
if (event.keyCode==13)
{
document.all( "btnSearch").click();
return true;
}
}
function jump()
{
var set=$('#<%=ddlSearchType.ClientID %>').val()
}
</SCRIPT>
<div class="ContactBox1" >
<div class="SearchBar">
<strong>我要找:</strong>
<asp:DropDownList ID="ddlSearchType" runat="server">
<asp:ListItem Selected="True" Value="Product">整机</asp:ListItem>
<asp:ListItem Value="Company">公司</asp:ListItem>
<asp:ListItem Value="BuyInfo">商机</asp:ListItem>
<asp:ListItem Value="Fitting">配件</asp:ListItem>
<asp:ListItem Value="News">资讯</asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID="txbSearch" onkeypress="btnClick(); " runat="server" Width="300px"></asp:TextBox>
<asp:Button ID="btnSearch" CssClass="btnSearch" runat="server" Text="搜索" OnClick="btnSearch_Click" />
</div>
<div class="Searchleft">
<div class="keyword">
<div class="content">
<strong>热门搜索:</strong> <a target="_blank" href="/Shop/210/Default.htm">志宁圆棒机</a> <a target="_blank" href="/Shop/150/Default.htm">威德力压机</a>
<a target="_blank" href="/Shop/152/Default.htm">同安拼板机</a> <a target="_blank" href="http://www.fjdeli.cn/">得力多片锯</a>
<a target="_blank" href="/Shop/426/Default.htm">鸿巢包覆机</a> <a target="_blank" href="/Shop/660/Default.htm">准达裁板锯</a>
</div>
</div>
</div>
</div>
后台代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
using System.Data;
namespace WoodWorking.Web.UserControl
{
public partial class Search : System.Web.UI.UserControl
{
public string PageType { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSearch_Click(object sender, EventArgs e)
{
string kw = Server.UrlEncode(txbSearch.Text.Trim());
string searchType = ddlSearchType.SelectedValue;
ClientScriptManager csm = this.Page.ClientScript;
//Response.Write("234");
if (searchType == ("Product"))
{
if (kw != "")
{ Response.Redirect("~/ProductSearch.aspx?kw=" + kw); }
else
{ Response.Redirect("~/ProductSearch.aspx?kw=四面刨"); }
}
else if (searchType == ("Company"))
{
Response.Redirect("~/CompanySearch.aspx?kw=" + kw);
}
else if (searchType == ("Fitting"))
{
Response.Redirect("~/FittingSearch.aspx?kw=" + kw);
}
else if (searchType == ("BuyInfo"))
{
Response.Redirect("~/BuyInfoSearch.aspx?kw=" + kw);
}
else if (searchType == ("News"))
{
Response.Redirect("~/NewsSearch.aspx?kw=" + kw);
}
Response.End();
}
}
}
27 个解决方案
#1
<SCRIPT LANGUAGE= "JavaScript ">
把里面的空格去掉
空格也是字符
把里面的空格去掉
空格也是字符
#2
if (event.keyCode==13)
这种代码只能IE里面有效
这种代码只能IE里面有效
#3
还是不行..测试页:http://www.woodworking365.com
在主页是正常的 不过在子目录用搜索功能就是不正常.
#4
还是不行..测试页:http://www.woodworking365.com
在主页是正常的 不过在子目录用搜索功能就是不正常.
#5
把 document.all( "btnSearch").click();
改成
document.getElementById("ctl00_cphMain_Search1_btnSearch")
改成
document.getElementById("ctl00_cphMain_Search1_btnSearch")
#6
把 document.all( "btnSearch").click();
改成
document.getElementById("ctl00_cphMain_Search1_btnSearch").click();
改成
document.getElementById("ctl00_cphMain_Search1_btnSearch").click();
#7
求各位大神帮助解决..在线急等啊
#8
5楼的靠谱。。。
#9
己经改了..不过还是没有反应..感觉是后台代码没有执行..但又没有报错..
这个是另一个报错的页面http://www.woodworking365.com/News/Default.htm
#10
把 document.all( "btnSearch").click();
改成
document.getElementById("ctl00_cphMain_Search1_btnSearch").click();
改成
document.getElementById("ctl00_cphMain_Search1_btnSearch").click();
#11
后面忘记加 .click();
#12
是的 我己经加了还是不行
#13
求各位大神帮助解决..在线急等啊
测试页
主页 http://www.woodworking365.com/
这个是其中一个不正常的页面 http://www.woodworking365.com/News/Default.htm
测试页
主页 http://www.woodworking365.com/
这个是其中一个不正常的页面 http://www.woodworking365.com/News/Default.htm
#14
不是告诉你去掉空格了吗
不去空格,你的代码可能就不会执行的
不去空格,你的代码可能就不会执行的
#15
去掉是去掉了..但我直接点搜索按钮还是没有反应..就是跳回现在的页面..在首页是正常的..但在子目录页面就出现这个情况...
这个是其中一个不正常的页面 http://www.woodworking365.com/News/Default.htm
#16
页面上不还是
<SCRIPT LANGUAGE="JavaScript ">
吗?
什么出过 LANGUAGE= "JavaScript "啊?
<SCRIPT LANGUAGE="JavaScript ">
改成
<SCRIPT>
#17
14楼 不是空格问题,目前文本框点击回车,已经激活搜索按钮事件;
现在是页面不跳转,同时下拉框状态保持不住,楼主是不是把 EnableViewState="False" 了,保持不住状态;如果是改成True试一试
现在是页面不跳转,同时下拉框状态保持不住,楼主是不是把 EnableViewState="False" 了,保持不住状态;如果是改成True试一试
#18
好的..刚刚我看过 EnableViewState 属性一直都是true..但主页点搜索 是正常跳转的..
#19
现在己经把这个空格去掉了..不过问题还在..
#20
改成
var obj=document.getElementById("Search1_btnSearch");
if(obj==null)
obj=document.getElementById("ctl00_cphMain_Search1_btnSearch");
if(obj!=null)
obj.click();
你首页可能没用用户控件,搜索按钮ID为 Search1_btnSearch
引用的为ctl00_cphMain_Search1_btnSearch
你看生成页的搜索按钮ID改写ID名称
var obj=document.getElementById("Search1_btnSearch");
if(obj==null)
obj=document.getElementById("ctl00_cphMain_Search1_btnSearch");
if(obj!=null)
obj.click();
你首页可能没用用户控件,搜索按钮ID为 Search1_btnSearch
引用的为ctl00_cphMain_Search1_btnSearch
你看生成页的搜索按钮ID改写ID名称
#21
嗯 这个是一个用户控件..首页跟内页都是引用同一个控件...之前查了下有人说是服务器framework的bug要升级..不过我想应该不是..因为我的FW己经升级为4.0了..因为以前一直都可以正常查找..我也试过在点buttom的事件里写了Response.write("2134"),结果是页面直接刷新,也不知道在内页buttom的代码有没有真正被执行..
#22
同时你Post到的页为当前的default.html文件,如果是生成的静态页,应该Post到引用用户控件的.ASPX文件处理
#23
这个是伪静态页
#24
http://www.woodworking365.com/default.aspx
首页好像没有用伪静态,post地址为Default.aspx,
可能没引用用户控件,改成
document.getElementById("Search1_btnSearch").click();
如果用了
改成
var obj=document.getElementById("Search1_btnSearch");
if(obj==null)
obj=document.getElementById("ctl00_cphMain_Search1_btnSearch");
if(obj!=null)
obj.click();
这样首页点击输入框,激活搜索事件
首页好像没有用伪静态,post地址为Default.aspx,
可能没引用用户控件,改成
document.getElementById("Search1_btnSearch").click();
如果用了
改成
var obj=document.getElementById("Search1_btnSearch");
if(obj==null)
obj=document.getElementById("ctl00_cphMain_Search1_btnSearch");
if(obj!=null)
obj.click();
这样首页点击输入框,激活搜索事件
#25
您的意思可能是我JS的问题导致出错的?
#26
其他页已经伪静态,无法执行Post,建议不后台处理;改成前台javascript脚本处理;
#27
#1
<SCRIPT LANGUAGE= "JavaScript ">
把里面的空格去掉
空格也是字符
把里面的空格去掉
空格也是字符
#2
if (event.keyCode==13)
这种代码只能IE里面有效
这种代码只能IE里面有效
#3
还是不行..测试页:http://www.woodworking365.com
在主页是正常的 不过在子目录用搜索功能就是不正常.
#4
还是不行..测试页:http://www.woodworking365.com
在主页是正常的 不过在子目录用搜索功能就是不正常.
#5
把 document.all( "btnSearch").click();
改成
document.getElementById("ctl00_cphMain_Search1_btnSearch")
改成
document.getElementById("ctl00_cphMain_Search1_btnSearch")
#6
把 document.all( "btnSearch").click();
改成
document.getElementById("ctl00_cphMain_Search1_btnSearch").click();
改成
document.getElementById("ctl00_cphMain_Search1_btnSearch").click();
#7
求各位大神帮助解决..在线急等啊
#8
5楼的靠谱。。。
#9
己经改了..不过还是没有反应..感觉是后台代码没有执行..但又没有报错..
这个是另一个报错的页面http://www.woodworking365.com/News/Default.htm
#10
把 document.all( "btnSearch").click();
改成
document.getElementById("ctl00_cphMain_Search1_btnSearch").click();
改成
document.getElementById("ctl00_cphMain_Search1_btnSearch").click();
#11
后面忘记加 .click();
#12
是的 我己经加了还是不行
#13
求各位大神帮助解决..在线急等啊
测试页
主页 http://www.woodworking365.com/
这个是其中一个不正常的页面 http://www.woodworking365.com/News/Default.htm
测试页
主页 http://www.woodworking365.com/
这个是其中一个不正常的页面 http://www.woodworking365.com/News/Default.htm
#14
不是告诉你去掉空格了吗
不去空格,你的代码可能就不会执行的
不去空格,你的代码可能就不会执行的
#15
去掉是去掉了..但我直接点搜索按钮还是没有反应..就是跳回现在的页面..在首页是正常的..但在子目录页面就出现这个情况...
这个是其中一个不正常的页面 http://www.woodworking365.com/News/Default.htm
#16
页面上不还是
<SCRIPT LANGUAGE="JavaScript ">
吗?
什么出过 LANGUAGE= "JavaScript "啊?
<SCRIPT LANGUAGE="JavaScript ">
改成
<SCRIPT>
#17
14楼 不是空格问题,目前文本框点击回车,已经激活搜索按钮事件;
现在是页面不跳转,同时下拉框状态保持不住,楼主是不是把 EnableViewState="False" 了,保持不住状态;如果是改成True试一试
现在是页面不跳转,同时下拉框状态保持不住,楼主是不是把 EnableViewState="False" 了,保持不住状态;如果是改成True试一试
#18
好的..刚刚我看过 EnableViewState 属性一直都是true..但主页点搜索 是正常跳转的..
#19
现在己经把这个空格去掉了..不过问题还在..
#20
改成
var obj=document.getElementById("Search1_btnSearch");
if(obj==null)
obj=document.getElementById("ctl00_cphMain_Search1_btnSearch");
if(obj!=null)
obj.click();
你首页可能没用用户控件,搜索按钮ID为 Search1_btnSearch
引用的为ctl00_cphMain_Search1_btnSearch
你看生成页的搜索按钮ID改写ID名称
var obj=document.getElementById("Search1_btnSearch");
if(obj==null)
obj=document.getElementById("ctl00_cphMain_Search1_btnSearch");
if(obj!=null)
obj.click();
你首页可能没用用户控件,搜索按钮ID为 Search1_btnSearch
引用的为ctl00_cphMain_Search1_btnSearch
你看生成页的搜索按钮ID改写ID名称
#21
嗯 这个是一个用户控件..首页跟内页都是引用同一个控件...之前查了下有人说是服务器framework的bug要升级..不过我想应该不是..因为我的FW己经升级为4.0了..因为以前一直都可以正常查找..我也试过在点buttom的事件里写了Response.write("2134"),结果是页面直接刷新,也不知道在内页buttom的代码有没有真正被执行..
#22
同时你Post到的页为当前的default.html文件,如果是生成的静态页,应该Post到引用用户控件的.ASPX文件处理
#23
这个是伪静态页
#24
http://www.woodworking365.com/default.aspx
首页好像没有用伪静态,post地址为Default.aspx,
可能没引用用户控件,改成
document.getElementById("Search1_btnSearch").click();
如果用了
改成
var obj=document.getElementById("Search1_btnSearch");
if(obj==null)
obj=document.getElementById("ctl00_cphMain_Search1_btnSearch");
if(obj!=null)
obj.click();
这样首页点击输入框,激活搜索事件
首页好像没有用伪静态,post地址为Default.aspx,
可能没引用用户控件,改成
document.getElementById("Search1_btnSearch").click();
如果用了
改成
var obj=document.getElementById("Search1_btnSearch");
if(obj==null)
obj=document.getElementById("ctl00_cphMain_Search1_btnSearch");
if(obj!=null)
obj.click();
这样首页点击输入框,激活搜索事件
#25
您的意思可能是我JS的问题导致出错的?
#26
其他页已经伪静态,无法执行Post,建议不后台处理;改成前台javascript脚本处理;