问大家一个问题,Asp.net中,怎样实现下拉框可搜索功能?

rwh871212 2011-09-08 02:53:37
我以前在公司中,DropDownList 中的值很多,点开之后输入开头关键字,下拉框的值就找到那里了,比如说
“我输入"新闻",
下拉框的值就会出现:

新闻管理
新闻看点
新闻周刊
新闻晨播
新闻两则
新闻频道


我现在的下拉列表值很多,想实现该功能,可惜不会了,哪位高手给我说一下?
...全文
709 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunkai572 2011-09-08
  • 打赏
  • 举报
回复
学习了
rwh871212 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 whzh719 的回复:]
你看到人家做那个是模拟出来,你自己也可写个。
[/Quote]

Ajax.Utility.RegisterTypeForAjax(typeof(WebForm1));
这个要引用什么吗?我的提示“当前上下文中不存在名称Ajax”
whzh719 2011-09-08
  • 打赏
  • 举报
回复
你看到人家做那个是模拟出来,你自己也可写个。
rwh871212 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 anchenyanyue 的回复:]
DropDownList是不能做输入功能的。+1
页面上看去是dropdownlist其实是模拟的
[/Quote]
楼上说的可能很对?可能只是虚拟的!
rwh871212 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 terminator_lzq 的回复:]
收藏的 你看看吧 我自己的找不着了
主要是ajax的那些东西放在一起了有点乱 改天在整理就好了

C# code


<HTML>
<HEAD>
<title>WebForm1</title>
<SCRIPT language="javascript">
//城市---------------……
[/Quote]

Ajax.Utility.RegisterTypeForAjax(typeof(WebForm1));
这个是要下载Ajax包吗?
rwh871212 2011-09-08
  • 打赏
  • 举报
回复
看来实现起来还有点麻烦?
  • 打赏
  • 举报
回复
智能查询的功能
手可摘星辰 2011-09-08
  • 打赏
  • 举报
回复
昨天刚看过


http://blog.csdn.net/touzilk/article/details/6757341

你看看
暗尘掩月 2011-09-08
  • 打赏
  • 举报
回复
DropDownList是不能做输入功能的。+1
页面上看去是dropdownlist其实是模拟的
CalvinR 2011-09-08
  • 打赏
  • 举报
回复
收藏的 你看看吧 我自己的找不着了
主要是ajax的那些东西放在一起了有点乱 改天在整理就好了

<HTML>
<HEAD>
<title>WebForm1</title>
<SCRIPT language="javascript">
//城市------------------------------
function cityResult()
{
var city=document.getElementById("TextBox1");
WebForm1.GetCityList(city.value,get_city_Result_CallBack);
}

function get_city_Result_CallBack(response)
{
if (response.value != null)
{
//debugger;
document.getElementById("DropDownList1").style.display="block";
document.getElementById("DropDownList1").length=0;    
     var ds = response.value;
if(ds != null && typeof(ds) == "object" && ds.Tables != null)
{
for(var i=0; i<ds.Tables[0].Rows.length; i++)
     {
     var name=ds.Tables[0].Rows[i].city;
       var id=ds.Tables[0].Rows[i].cityID;
       document.getElementById("DropDownList1").options.add(new Option(name,id));
     }
}
}
else
{
document.getElementById("DropDownList1").style.display="none";
}
return
}

function getData()
{
var province=document.getElementById("DropDownList1");
var pindex = province.selectedIndex;
var pValue = province.options[pindex].value;
var pText = province.options[pindex].text;

document.getElementById("<%=TextBox1.ClientID%>").innerText=pText;
}
</SCRIPT>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br>
<asp:DropDownList ID="DropDownList1" runat="server" Width="192px" style="display:none"></asp:DropDownList>
</form>
</body>
</HTML>2.cs代码
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace ajaxselect
{
/**//// <summary>
/// Summary description for WebForm1.
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.DropDownList DropDownList1;

private void Page_Load(object sender, System.EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(WebForm1));
if (!Page.IsPostBack)
{
this.TextBox1.Attributes.Add("onchange", "cityResult();");
this.DropDownList1.Attributes.Add("onclick", "getData();");
}
}

Web Form Designer generated code#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}

/**//// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

GetCityList#region GetCityList
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public DataSet GetCityList(int provinceid)
{
string sql = "select * from city where father like %" + provinceid + "%";
return GetDataSet(sql);
}
#endregion
GetDataSet#region GetDataSet
public static DataSet GetDataSet(string sql)
{
string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
SqlDataAdapter sda = new SqlDataAdapter(sql, ConnectionString);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}
#endregion

}
}
rwh871212 2011-09-08
  • 打赏
  • 举报
回复
我以前在公司人家就是在下拉框输入关键字自动定位到值?感觉很强悍,现在想用不知道怎么做?
Gemini Dean 2011-09-08
  • 打赏
  • 举报
回复
貌似有第三方控件有这种功能的说
CalvinR 2011-09-08
  • 打赏
  • 举报
回复
不对 说错了啊
是ajax能做成的
我记得我以前做过
要不我发个例子给你吧
huayy 2011-09-08
  • 打赏
  • 举报
回复
DropDownList是不能做输入功能的。
几年前曾经做过一个,是用的textbox+dropdownlist+div+js结合做的。
但是对定位控制非常不好,只能按屏幕绝对定位。
CalvinR 2011-09-08
  • 打赏
  • 举报
回复
这是能使用模糊查询吗??
楼主试试吧
rwh871212 2011-09-08
  • 打赏
  • 举报
回复
我只需在DropDownList 中输入,没有任何可输入的地方?不用文本框
porschev 2011-09-08
  • 打赏
  • 举报
回复

AutoComplete控件可以做

http://www.cnblogs.com/oec2003/archive/2007/08/18/860870.html


Jquery也有很多自动完成的插件

比如: AutoComplete-JQuery
huayy 2011-09-08
  • 打赏
  • 举报
回复
这个是用ajax实现的。
百度一下,“ajax 自动完成 ”

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧