数据转换问题
调用TaskLists
wService.ServiceClient client = TaskList.GetDynamicClient();
client.TaskListsAsync(cID); //调用TaskLists
client.TaskListsCompleted += (send2, e2) =>
{
if (e2.Cancelled == false && e2.Error == null)
{
ObservableCollection<wService.ServiceTaskTable> TaskTable = e2.Result;
Name.Text = ((wService.ServiceTaskTable)TaskTable).cName; //这里怎样取得TaskTable的cName,现在这样是不对,但我不知怎么转换
ID.text = ((wService.ServiceTaskTable)TaskTable).cID; //这里怎样取得TaskTable的cID
this.Cursor = Cursors.Arrow;
}
else
{
MessageBox.Show(e2.Error.ToString());
}
};
webservice
public struct TaskTable
{
public string cID { get; set; }
public string cName { get; set; }
public string cPerson { get; set; }
public string cLog { get; set; }
public string cLat { get; set; }
public string iType { get; set; }
}
[OperationContract]
public List<TaskTable> TaskLists(string cID)
{
List<TaskTable> t = new List<TaskTable>();
DataSet ds = new DataSet();
string SQL = "select * from a1 where cID='" + cID + "'";
ds = Datas.getDataSet(SQL);
if (Datas.errorMsg == "")
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
t.Add(new TaskTable
{
cID = dr["cID"].ToString(),
cName = dr["cName"].ToString(),
cPerson = dr["cPerson"].ToString(),
});
}
}
return t;
}
[解决办法]
要加属性,类似如下代码
[DataContract]
public class Address
{
public Address()
{
……
}
[DataMember]
public string AddressCategory { get; set; }
[DataMember]
public string AddressTitle { get; set; }
[DataMember]
public string AddressDetail { get; set; }
}
[解决办法]
同上..
silverlight调用webservice的时候 需要两边建立同样的类型.. 或者叫映射
然后转换成类型之后 接下来就不用我说了. 想怎么操作就怎么操作
e.result 是一个object类型。你试着 as TaskTable
[解决办法]
你要转化字符串就必须要实现IvalueConvert类 才能实现转化 QQ:747044733
[解决办法]
楼主对WCF还不熟悉,建议先打好基础,搞清楚 [DataContract](数据契约) [DataMember]、代理类是什么意思。
基础搞扎实些,总比问来问去还是云里雾里的好。