首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

数据转换有关问题

2012-03-13 
数据转换问题调用TaskListswService.ServiceClient client TaskList.GetDynamicClient()client.TaskLis

数据转换问题




调用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]、代理类是什么意思。
基础搞扎实些,总比问来问去还是云里雾里的好。

热点排行