如何操作WCF服务结果?

时间:2014-09-16 13:30:16

标签: c# wcf-binding kendo-mobile

我有一个使用VS AppBuilder扩展开发的kendo移动应用程序。我已经创建了一个WCF服务。我正在使用此服务将数据与kendo图表绑定。这是我的WCF服务代码。

 public List<object> ProductCount(int week, int year)
    {
        List<object> lst = new List<object>();
        DataSet ds = new DataSet();
        DataTable dt = new DataTable();
        SqlConnection con = new SqlConnection(connString);
        var currentCulture = CultureInfo.CurrentCulture;
        var weekNo = currentCulture.Calendar.GetWeekOfYear(
                        DateTime.Now.Date,
                        currentCulture.DateTimeFormat.CalendarWeekRule,
                        currentCulture.DateTimeFormat.FirstDayOfWeek);
        try
        {
            SqlCommand cmd = new SqlCommand("Select * from Products where Week_Number =" + week_No);
            cmd.CommandType = CommandType.Text;
            cmd.Connection = con;
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            foreach (DataRow dr in dt.Rows)
            {
                lst.Add(dr["Quantity"].ToString());
            }
            int current = lst.Sum(x => Convert.ToInt32(x)); //result is 5000
            int goal = 10000;
            lst.Clear();
            dt.Clear();
            lst.Add("current:" + current);
            lst.Add("target:" + goal);
        }
        catch (Exception ex)
        {
            // new Error(ex);
        }
        finally
        {
            con.Close();
        }
        return lst;
    }

此代码返回如下结果, [&#34;当前:5000&#34;,&#34;目标:10000&#34;]

但我想要这样的结果, [{&#34;当前&#34;:5000,&#34;目标&#34;:10000}]

我该怎么做?

1 个答案:

答案 0 :(得分:0)

你试过了吗?

lst.Add(new {
    current = current,
    target = goal
});

而不是:

lst.Add("current:" + current);
lst.Add("target:" + goal);

这会在您的数组中添加一个具有currenttarget属性的对象。