一个用webservice behavior实现的三级联动下拉列表框

一个用webservice behavior实现的三级联动下拉列表框 

 
 
 
 我做了一个三级联动的下拉列表框,后台用webservice,前台用webservice behavior与后台通讯。请高手们多提改进意见。

server端:(service1.asmx.cs)

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>

    public class 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

        
/// <summary>
        
/// Clean up any resources being used.
        
/// </summary>

        protected override void Dispose( bool disposing )
        
{
        }



        [WebMethod]
        
public string 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]
        
public string 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]
        
public string 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 >


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值