功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择
1.建立一aspx页面,html代码
<HT ML>
<TÊTE>
<titre>WebForm1</titre>
<Langage SCRIPT="javascript">
//城市------------------------------
fonction cityResult()
{
var city=document.getElementById("TextBox1");
WebForm1.GetCityList(city.value,get_city_Result_CallBack);
}
fonction get_city_Result_CallBack (réponse)
{
si (réponse.value != null)
{
//débogueur ;
document.getElementById("DropDownList1").style.display="block";
document.getElementById("DropDownList1").length=0;
var ds = réponse.valeur ;
if(ds != null && typeof(ds) == "objet" && ds.Tables != null)
{
pour(var i=0; i<ds.Tables[0].Rows.length; i++)
{
var nom=ds.Tables[0].Rows[i].city;
var id=ds.Tables[0].Rows[i].cityID;
document.getElementById("DropDownList1").options.add(new Option(name,id));
}
}
}
autre
{
document.getElementById("DropDownList1").style.display="none";
}
retour
}
fonction 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>
<corps>
<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>
</corps>
</HTML>2.cs代码
utiliser le système ;
en utilisant System.Collections ;
en utilisant System.ComponentModel ;
en utilisant System.Data ;
en utilisant System.Drawing ;
en utilisant System.Web ;
en utilisant System.Web.SessionState ;
en utilisant System.Web.UI ;
en utilisant System.Web.UI.WebControls ;
en utilisant System.Web.UI.HtmlControls ;
en utilisant System.Data.SqlClient ;
espace de noms ajaxselect
{
/**//// <résumé>
/// Description récapitulative de WebForm1.
/// </summary>
classe publique WebForm1 : System.Web.UI.Page
{
protégé System.Web.UI.WebControls.TextBox TextBox1 ;
protégé System.Web.UI.WebControls.DropDownList DropDownList1 ;
private void Page_Load (expéditeur de l'objet, System.EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(WebForm1));
si (!Page.IsPostBack)
{
this.TextBox1.Attributes.Add("onchange", "cityResult();");
this.DropDownList1.Attributes.Add("onclick", "getData();");
}
}
Code généré par Web Form Designer#region Code généré par Web Form Designer
remplacer le void protégé OnInit (EventArgs e)
{
//
// CODEGEN : cet appel est requis par le concepteur de formulaires Web ASP.NET.
//
InitializeComponent();
base.OnInit(e);
}
/**//// <résumé>
/// Méthode requise pour la prise en charge de Designer - ne pas modifier
/// le contenu de cette méthode avec l'éditeur de code.
/// </summary>
vide privé 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 = "sélectionner * de la ville où le père aime '%" + id province + "%'" ;
retourner GetDataSet(sql);
}
#endregion
GetDataSet#région GetDataSet
DataSet statique public GetDataSet (string sql)
{
chaîne ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
SqlDataAdapter sda = new SqlDataAdapter(sql, ConnectionString);
DataSetds = new DataSet();
sda.Fill(ds);
retourner ds ;
}
#endregion
}
}3.
4.数据库脚本
CRÉER UNE TABLE [dbo].[ville](
[id] [int] PAS NULL,
[cityID] [nvarchar](6) COLLATE Chinese_PRC_CI_AS NULL,
[ville] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[père] [nvarchar](6) COLLATE Chinese_PRC_CI_AS NULL,
CONTRAINTE [PK_city] CLÉ PRIMAIRE CLUSTERÉE
(
[identifiant] ASC
)AVEC (IGNORE_DUP_KEY = OFF) ON [PRIMAIRE]
) SUR [PRIMAIRE]