如何使用Javascript在客户端使用WebMethod返回的复杂类型?

时间:2011-08-08 06:56:27

标签: javascript jquery .net ajax web-services

我是Webmethods和服务的初学者,我已经陷入了这种局面。

我有一个webmethod,它返回一个StatusViewModel类的实例..

    [WebMethod()]
    public static StatusViewModel GetTime1()
    {
        Debug.Write("Timer");

        StatusViewModel statusViewModel = new StatusViewModel();
        statusViewModel.Label1 = "aaa";
        statusViewModel.Label1 = "bbb";

        statusViewModel.ListBox.Add("1", "ccc");
        statusViewModel.ListBox.Add("2", "ccc");

        return DateTime.Now.ToString();

    }

StatusViewModel类看起来像这个

public class StatusViewModel
    {
        public string Label1 { get; set; }
        public string Label2 { get; set; }
        public IDictionary<string, string> ListBox { get; set; }
    }

我应该如何使用此方法并使用从方法接收的数据设置2个标签和列表框?

通常我称之为webmethod

 $(document).ready(function() {
            call1();
        });


        function OnSuccess1(result, ctrl) { $('#<%=Label2.ClientID %>').html(result); }
        function OnError1() { alert("error!"); }
        function call1() { PageMethods.GetTime1(OnSuccess1, OnError1); }

如果返回类型为String,则此方法有效。

任何人都可以提出有关此主题的简单文章吗?

2 个答案:

答案 0 :(得分:2)

那个,开始可能不错。

http://encosia.com/using-jquery-to-consume-aspnet-json-web-services/

它为您提供信息,休息 - 只需谷歌并尝试自己的东西。这是一项简单而且非常常见的任务。

答案 1 :(得分:0)

尝试将您的类转换为JSON。然后你可以在javascript中轻松阅读