zoukankan      html  css  js  c++  java
  • js调用webService实现多态

    js调用webservice实现多态,具体实现代码如下:
    namespace AllAjax001
    {
        public abstract class fourthServer1//抽象类
        {

            public abstract string resout();
        }

         public class Class1:fourthServer1//实现类1(继承并重写)
        {
            public override string resout()
            {
                return "red";// 我们只返回了一句话就是“red”;

            }
        }

          public class Class2:fourthServer1//实现类2(继承并重写)

        {

            public override string resout()
            {
                return "yellow";
            }

        }

    }

    那我们怎么样让webservice  来调用 上面那些实现类,并对里面的方法进行返回呢?我们知道我们通过[System.Web.Scipt.Services.GenerateScriptType(typeof(命名空间.实现类名))] 这样我们就能让webService找到并进行处理。注意的是在webservice  方法中我们传的是哪个抽象类,因为我们要通过不同的参数来选择我们要调用哪一个实现类。

            [WebMethod]
            [System.Web.Script.Services.GenerateScriptType(typeof(AllAjax001.Class1))]
            [System.Web.Script.Services.GenerateScriptType(typeof(AllAjax001.Class2))]
            [System.Web.Script.Services.GenerateScriptType(typeof(AllAjax001.Class3))]
            [System.Web.Script.Services.GenerateScriptType(typeof(AllAjax001.Class4))]
     
            public string gMagess(fourthServer1 get)
            {
                return get.resout();  //通过父类我们返回不同的实现类
            }

    然后我们在页面上写一个下拉列表框<select id=“color”></select> 我们在里面放上几个值让后我们通过列表框的id 值来获得里面的不同的值

    <script language ="javascript" type="text/javascript">
            function fun() {
                var ca = new Object();    //将一个变量转成object 类型
                ca.__type = document.getElementById("color").value; // 注意 "__type" 下划线是两个
            
                AllAjax001.fourthServer.gMagess(ca,back); // 命名空间。webService名。方法名(参数,回调函数)

            }
            function back(te) {//就是回调函数 是将我们传过来实现类里面那个值输出在我们的div中的
              
                document.getElementById("show").innerHTML = te;
            }
        </script>

    这样我们一个js调用webService就实现了多态,通过我们在页面传入得不同的值,在webService中通过判断来返回不同的 东西。当然我这个例子实在太简单了,大家可以根据这个例子做一个跟数据库判断的小例子,通过我们从数据库查出的不同的值,判断然后将我们要的传入到别的表里。

  • 相关阅读:
    T2038 香甜的黄油 codevs
    缓冲区溢出分析第08课:MS06-040漏洞研究——动态调试
    缓冲区溢出分析第07课:MS06-040漏洞研究——静态分析
    Android最新敲诈者病毒分析及解锁(11月版)
    Android敲诈者病毒“安卓性能激活”分析(2015年9月版)
    Android最新敲诈者病毒分析及解锁
    APK程序Dex文件无源码调试方法讨论
    一个DDOS木马后门病毒的分析
    IDA动态调试Android的DEX文件
    一枚Android "短信小偷" 病毒的分析
  • 原文地址:https://www.cnblogs.com/paper/p/1536020.html
Copyright © 2011-2022 走看看