webservice中不支持hashtable的数据类型,那么如何在webservice中传递hashtable呢?我们可以通过将hashtable转化为webservice中支持的数组的类型来进行传递,在调用的时候再转换成hashtable就可以了。
[WebMethod]
public DictionaryEntry[] SetValue()
{
Hashtable sl = new Hashtable();
sl.Add("kiss", "me");
sl.Add("love", "you");
DictionaryEntry[] array = new DictionaryEntry[sl.Count];
sl.CopyTo(array, 0);
return array;
}
调用webservice中的方法
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebPar
webservice中不支持hashtable的数据类型,那么如何在webservice中传递hashtable呢?我们可以通过将hashtable转化为webservice中支持的数组的类型来进行传递,在调用的时候再转换成hashtable就可以了。
[WebMethod]
public DictionaryEntry[] SetValue()
{
Hashtable sl = new Hashtable();
sl.Add("kiss", "me");
sl.Add("love", "you");
DictionaryEntry[] array = new DictionaryEntry[sl.Count];
sl.CopyTo(array, 0);
return array;
}
调用webservice中的方法
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
using SourceCode;
using localhost;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
getHashTable();
}
}
private void getHashTable()
{
Hashtable obj = new Hashtable();
localhost.WebService test = new localhost.WebService();
localhost.DictionaryEntry[] entries = (localhost.DictionaryEntry[])test.SetValue();
foreach (localhost.DictionaryEntry entry in entries)
{
obj.Add(entry.Key, entry.Value);
}
foreach (System.Collections.DictionaryEntry each in obj)
{
Response.Write(each.Key.ToString() + "=" + each.Value.ToString() + "<br/>");
}
}
}
注:
引用webservice的方法
在 "项目 "单击右键-> "添加web引用 ",输入你的webservice地址,让系统帮你列出Url上可用的webservice,输入 "web 引用名 "-> "添加引用 "就可以了.
剩下的和引用一个普通的dll就没什么大区别了.
ts;
using System.Web.UI.HtmlControls;
using System.Collections;
using SourceCode;
using localhost;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
getHashTable();
}
}
private void getHashTable()
{
Hashtable obj = new Hashtable();
localhost.WebService test = new localhost.WebService();
localhost.DictionaryEntry[] entries = (localhost.DictionaryEntry[])test.SetValue();
foreach (localhost.DictionaryEntry entry in entries)
{
obj.Add(entry.Key, entry.Value);
}
foreach (System.Collections.DictionaryEntry each in obj)
{
Response.Write(each.Key.ToString() + "=" + each.Value.ToString() + "<br/>");
}
}
}
注:
引用webservice的方法
在 "项目 "单击右键-> "添加web引用 ",输入你的webservice地址,让系统帮你列出Url上可用的webservice,输入 "web 引用名 "-> "添加引用 "就可以了.
剩下的和引用一个普通的dll就没什么大区别了.