五、获取自定义复杂对象

来源:互联网 发布:台球直播软件 编辑:程序博客网 时间:2024/05/16 11:09

 

JavaScript获取复杂的数据一般使用拼接字符串或使用xml,但是在asp.net中,我们可以使用GenerateScriptType(typeof(自定义类))属性来返回较复杂的对象,并在客户端使用属性来直接访问。例:

1.       首先编写webservice中的函数如下:

        public class user

        {

            public string name;

            public int age;

        }

 

        [WebMethod]

        [System.Web.Script.Services.GenerateScriptType(typeof(user))]

        public user getUser()

        {

            user u = new user() { name = "soldierluo", age = 23 };

            return u;

        }

 

2.       编写客户端代码如下:

    <script type="text/javascript">

    function invokeWebservice(){

        Ajax_Start.ws_start.getUser(onSuccess, onFailed);

    }

    function onSuccess(user){

        alert("name : " + user.name + "   age : " + user.age);      //注意js在这里的访问方式,和后台访问对象的方式是一样的

    }

    function onFailed(error){

        alert(error.get_message());

    }

    </script>

 

    <form id="form1" runat="server">

    <div>

        <asp:ScriptManager ID="ScriptManager1" runat="server">

            <Services>

                <asp:ServiceReference Path="~/ws_start.asmx" />

            </Services>

        </asp:ScriptManager>

    </div>

   

    <a onclick="invokeWebservice()">点击获取复杂对象数据</a>

</form>

 

3.       结果如下:

 

这里可以看到,客户端可以直接通过对象属性来读取对象的数据。

 

 

 

原创粉丝点击