VS2005中如此实现自动提示功能

C#asp.net我想在TextBox中实现类似百度搜索的自动提示功能,提示字符集从数据源中某一列中取跪求高手点拨... C# asp.net
我想在TextBox中实现类似百度搜索的自动提示功能,提示字符集从数据源中某一列中取
跪求高手点拨
展开
 我来答
lovemingming
2010-03-09 · TA获得超过4137个赞
知道大有可为答主
回答量:1422
采纳率:0%
帮助的人:1430万
展开全部
在页面布局当中加一个DIV,位置在TextBox的下面,
然后给TextBox加个onchange事件,
onchang事件,调用AJAX,将当前textbox的值进行查询,结果通过ajax动态反应在div当中,
div当中,你可以使用li或者div,然后加上onmouseover事件和onclick事件。。。
等下我做个例子,在补上来。。。
大概例子,,,
页面aspx内容
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.hide
{
display:none;
}
.selected
{
background-color:Blue;
}
</style>
<script type="text/javascript" src="JS/jquery.js"></script>
<script type="text/javascript">
function txtchange() {
$.ajax({
type: "GET",
url: "Handler/Handler.ashx",
data: "action=getSearch&value=" + $("#txt").val(),
success: function(returnvalue) {
$("#divsearch").empty();
$("#divsearch").append(returnvalue);
$("#divsearch").removeClass("hide");
}
});
}

function iclick(item) {
$("#txt").val(item.innerText);
$("#divsearch").addClass("hide");
}

function ionmouseover(item) {
item.className = "selected";
}

function ionmouseout(item) {
item.className = "";
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="text" style="width:150px;" id="txt" onkeypress="txtchange()"/>
<div style="width:154px;border:solid 1px black;" class="hide" id="divsearch"></div>
</div>
</form>
</body>
</html>
Handler.ashx内容:
public void ProcessRequest(HttpContext context)
{
//context.Response.ContentType = "text/plain";
//context.Response.Write("Hello World");
string value = context.Request.QueryString["value"];
string returnvalue = "false";
DataTable objDT;
try
{
if (context.Request.UrlReferrer.Authority != ConfigurationManager.AppSettings["allowDomain"])
{
throw new Exception("非法请求!");
}
switch (context.Request.QueryString["action"])
{
case "getSearch":
context.Response.Write("<div onclick='iclick(this)' onmouseover='ionmouseover(this)' onmouseout='ionmouseout(this)'>a</div><div onclick='iclick(this)' onmouseover='ionmouseover(this)' onmouseout='ionmouseout(this)'>aaa</div>");
break;
}
}
catch (Exception ex)
{
context.Response.Write(ex.Message);
}
}
在这里你可以用value 去做你要做的事情。。。
ZESTRON
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸... 点击进入详情页
本回答由ZESTRON提供
xiwenxiaolove
2010-03-09 · TA获得超过419个赞
知道小有建树答主
回答量:408
采纳率:0%
帮助的人:0
展开全部
自动提示功能 功能主要是通过TextBox的这三个属性控制:

AutoCompleteCustomSource 获取或设置在 AutoCompleteSource 属性设置为 CustomSource 时使用的自定义 System.Collections.Specialized.StringCollection。

AutoCompleteMode

获取或设置控制自动完成如何作用于 TextBox 的选项。

AutoCompleteSource 获取或设置一个值,该值指定用于自动完成的完整字符串源。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
峭首植BZ
2010-03-09 · TA获得超过642个赞
知道答主
回答量:39
采纳率:0%
帮助的人:0
展开全部
既然说点拨那就只说原理,相信你能实现出来:

在textbox下放一个listbox,初始visible为false, textbox的值有变化时,并ajax请求数据(根据textbox的当前值去查询),得到数据后visible为true。textbox失去焦点后listbox的visible恢复为false。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友06bebf5
2010-03-09 · TA获得超过359个赞
知道小有建树答主
回答量:461
采纳率:0%
帮助的人:353万
展开全部
输入的时候, 在输入的焦点位置 show一个窗口,窗口里面显示所要的信息
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式