using System; using System.Text; using System.Configuration; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Diagnostics; using System.Web; using System.Web.Services; namespace WebService1 ...{ /**////<summary> /// Summary description for Service1. ///</summary> publicclass Service1 : System.Web.Services.WebService ...{ SqlConnection con; public Service1() ...{ //CODEGEN: This call is required by the ASP.NET Web Services Designer InitializeComponent(); } Component Designer generated code#region Component Designer generated code /**////<summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. ///</summary> privatevoid InitializeComponent() ...{ string dsn = ConfigurationSettings.AppSettings["yitong"]; con=new SqlConnection(dsn); } #endregion /**////<summary> /// Clean up any resources being used. ///</summary> protectedoverridevoid Dispose( bool disposing ) ...{ } [WebMethod] publicstring fenlei() ...{ string str="select distinct substring(code,1,3) as fenlei from jinan "; SqlCommand cmd=new SqlCommand(str,con); cmd.Connection.Open(); SqlDataReader dr=cmd.ExecuteReader(); string s="请选择:"; while(dr.Read()) ...{ s +=","+dr["fenlei"].ToString(); } return s; } [WebMethod] publicstring leixing(string q) ...{ string str="select distinct type from jinan where code like '"+q+"%'"; SqlCommand cmd=new SqlCommand(str,con); cmd.Connection.Open(); SqlDataReader dr=cmd.ExecuteReader(); string s="请选择:"; while(dr.Read()) ...{ s +=","+dr["type"].ToString(); } return s; } [WebMethod] publicstring haoduan(string q) ...{ string str="select distinct substring(code,4,4) as haoduan from jinan where type='"+q+"'"; SqlCommand cmd=new SqlCommand(str,con); cmd.Connection.Open(); SqlDataReader dr=cmd.ExecuteReader(); string s="请选择:"; while(dr.Read()) ...{ s +=","+dr["type"].ToString(); } return s; } client端(htmlpage1.htm)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 7.0"> <TITLE></TITLE> <script id="clientEventHandlersJS" language="javascript">... <!-- var icallid; var icallid1; var icallid2; function window_onload() ...{ service.useService("/service1.asmx?WSDL","myselect"); icallid=service.myselect.callService(fenlei,"fenlei"); } function fenlei(result) ...{ var m=result.value; var a=m.split(",") for(var i=0;i<a.length;i++) ...{ window.s1.options[i]=new Option(a[i],a[i]); } } function s1_onchange() ...{ var x=s1.value; icallid1=service.myselect.callService(leixing,"leixing",x); } function s2_onchange() ...{ var x=s2.value; icallid2=service.myselect.callService(haoduan,"haoduan",x); } function leixing(result)...{ var m=result.value; var a=m.split(",") window.s2.length=0; for(var i=0;i<a.length;i++) ...{ window.s2.options[i]=new Option(a[i],a[i]); } } function haoduan(result)...{ var m=result.value; var a=m.split(",") window.s3.length=0; for(var i=0;i<a.length;i++) ...{ window.s3.options[i]=new Option(a[i],a[i]); } } //--> </script> </HEAD> <BODY onload="return window_onload()"> <div id="service" style="behavior:url(webservice.htc)"> </div> <select id="s1" onchange="return s1_onchange()"></select><select id="s2" onchange="return s2_onchange()"></select> <select id="s3"></select> </HTML>