0

只是一个快速的问题,因为我正在努力让我的 Web 服务正常工作。基本上我遵循了一个教程,因为我是 Windows Phone 和数据库的新手,

"http://studentguru.gr/b/dt008/archive/2010/12/02/querying-a-database-on-windows-phone-7-using-wcf.aspx"

但是我使用的是我自己的数据库,一个在 Visual Studio 中创建的 .sdf 文件

我设法创建了服务、引用和它所说的所有方法。但是,当我尝试在运行时从服务中获取数据时,它只会返回

       Timesheet_System.Servicereference.TimeData
       Timesheet_System.Servicereference.TimeData
       Timesheet_System.Servicereference.TimeData
       Timesheet_System.Servicereference.TimeData

对于数据库中的所有 4 个项目。

有谁知道为什么?非常感谢。下面的代码:

我在 asp.net 站点中有一个数据服务和一个 ado.net 数据模型,然后我在手机应用程序中有一个服务引用和 2 个调用数据的方法这是 asp.net 应用程序中的数据服务代码

namespace TimesheetDataSite
{
     [ServiceContract(Namespace = "")]
    [SilverlightFaultBehavior]
    [AspNetCompatibilityRequirements(RequirementsMode =     AspNetCompatibilityRequirementsMode.Allowed)]
public class Service1
{
    [OperationContract]
    public List<TimeData> DoWork()
    {
        // Add your operation implementation here
        using (TimeDataEntities2 entities = new TimeDataEntities2())
        {
            var alldata = from x in entities.TimeDatas select x;
            return alldata.ToList();
        }
    }

    // Add more operations here and mark them with [OperationContract]
}

}

手机应用程序中的两种方法

private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
        {
        Service1Client client = new Service1Client();

        client.DoWorkCompleted +=
            new EventHandler<DoWorkCompletedEventArgs>(client_DoWorkCompleted);
        client.DoWorkAsync();
    }
    void client_DoWorkCompleted(object sender, DoWorkCompletedEventArgs e)
    {
        if (e.Error == null)
        {

            listBox1.ItemsSource = e.Result;
        }
    }

}
4

1 回答 1

1

TimeData 根据我的评论,请尝试以下操作:

void client_DoWorkCompleted(object sender, DoWorkCompletedEventArgs e)
{
    if (e.Error == null)
    {
        listBox1.DisplayMemberPath = "PropertyA";
        listBox1.ItemsSource = e.Result;
    }
}

您要显示PropertyA的属性的名称在哪里。TimeData

就像我说的,我没有可用的 Visual Studio 来测试它,但它应该可以工作。

于 2013-01-20T13:24:18.863 回答