您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> .NET >> arraylist排序 Arraylist 做web service 的参数出错

arraylist排序 Arraylist 做web service 的参数出错

来源:网络整理     时间:2016/7/8 15:09:58     关键词:arraylist排序

关于网友提出的“arraylist排序 Arraylist 做web service 的参数出错”问题疑问,本网通过在网上对“arraylist排序 Arraylist 做web service 的参数出错”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:arraylist排序 Arraylist 做web service 的参数出错
描述:

我在我的web service 中用 arraylist 做了参数,为什么在调用的时候传入arraylist 类型的值的时候报错,说与该webservice 匹配的重载方法具有一些无效参数。 

 [WebMethod(Description = "This Method is used to generate a shoppingcart")]
    public DataSet Shopingcart(ArrayList Booklist)
    {
        string cn = "Data Source=.;Initial Catalog=951;User ID=sa;Password=0591245";
        SqlConnection conn = new SqlConnection(cn);
        conn.Open();
        DataSet ds = new DataSet();
        
        foreach (string s in Booklist)
        {
            string sql = string.Format("select BookNo,BookName,Prices from BookInfo WHERE BookNo='{0}'", Booklist[0]);
            SqlCommand cmd = new SqlCommand(sql, conn);
            //ds.Tables.Add(newDT);
            SqlDataAdapter da = new SqlDataAdapter(sql, conn);
            da.Fill(ds);
        }
        return ds;
    }

 protected void Page_Load(object sender, EventArgs e)
    {
  BookSearch.Service Shopcart = new BookSearch.Service();
        ArrayList Bl = (ArrayList)Session["Booklist"];
        DataSet ds;
        ds = Shopcart.Shopingcart(Bl);
        GridView1.DataSource = ds.Tables[0];
        GridView1.DataBind();
}


解决方案1:

人家都说出来了·你就不能自己去根据他说的搜一搜啊……
非要人家把牙膏全部挤出来,才能刷完牙?

解决方案2:

比如说ArrayList里面存放的是User对象
那么写成这样


[XmlInclude(typeof(User))]
[WebMethod(Description = "This Method is used to generate a shoppingcart")]
    public DataSet Shopingcart(ArrayList Booklist)
    {
        string cn = "Data Source=.;Initial Catalog=951;User ID=sa;Password=0591245";
        SqlConnection conn = new SqlConnection(cn);
        conn.Open();
        DataSet ds = new DataSet();
        
        foreach (string s in Booklist)
        {
            string sql = string.Format("select BookNo,BookName,Prices from BookInfo WHERE BookNo='{0}'", Booklist[0]);
            SqlCommand cmd = new SqlCommand(sql, conn);
            //ds.Tables.Add(newDT);
            SqlDataAdapter da = new SqlDataAdapter(sql, conn);
            da.Fill(ds);
        }
        return ds;
    }

如果还有其他类型就再增加XmlInclude 解决方案3:

ArrayList里面的类型要用[XmlInclude]标识出来,所有在ArrayList里包含的类型


以上介绍了“arraylist排序 Arraylist 做web service 的参数出错”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2419780.html

arraylist排序相关图片

arraylist排序相关文章