Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将列表添加到新阵列时出错_C#_Jquery_Asp.net_Ajax_Webforms - Fatal编程技术网

C# 将列表添加到新阵列时出错

C# 将列表添加到新阵列时出错,c#,jquery,asp.net,ajax,webforms,C#,Jquery,Asp.net,Ajax,Webforms,我希望在GridView中绑定SQL数据库表。在这里,我使用Ajax通过“url”调用名为“GetProducts”的Web方法,使用HTTP POST谓词。它执行select查询并返回数据。这是代码,但“p.ToArray()”中显示了错误。它表示无法隐式转换。请帮助我使此代码能够运行。如果代码的其他部分有任何错误,请建议我: 这是.aspx.cs页面中的代码: namespace AvailableProductsWithAjax { public partial class Ava

我希望在GridView中绑定SQL数据库表。在这里,我使用Ajax通过“url”调用名为“GetProducts”的Web方法,使用HTTP POST谓词。它执行select查询并返回数据。这是代码,但“p.ToArray()”中显示了错误。它表示无法隐式转换。请帮助我使此代码能够运行。如果代码的其他部分有任何错误,请建议我: 这是.aspx.cs页面中的代码:

namespace AvailableProductsWithAjax
{
    public partial class AvailableProductsWebForm : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.BindDummyRow();
            }

          //  GridView1.Columns[0].Visible = false;


        }
        private void BindDummyRow()
        {
            DataTable dummy = new DataTable();
            //dummy.Columns.Add("Product_Id");
            dummy.Columns.Add("Product_Name");
            dummy.Columns.Add("Product_Description");
            dummy.Columns.Add("Product_Category");
            dummy.Columns.Add("Product_Price");
            dummy.Columns.Add("Product_Quantity");
            dummy.Rows.Add();
            GridView1.DataSource = dummy;
            GridView1.DataBind();


        }

        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
        [WebMethod]
        public static Products GetProducts()
        {
            List<Products> p = new List<Products>();
            string query = "Select Product_Name, Product_Description, Product_Category, Product_Price, Product_Quantity from Items";


            String cs = ConfigurationManager.ConnectionStrings["WebShopDB"].ConnectionString;
            using (SqlConnection con = new SqlConnection(cs))
            {
                using (SqlDataAdapter sda = new SqlDataAdapter())
                {
                    SqlCommand cmd = new SqlCommand();
                    sda.SelectCommand = cmd;
                    cmd.Connection = con;
                    cmd.CommandText = query;

                    DataTable dt = new DataTable();
                    sda.Fill(dt);

                    foreach (DataRow dtRow in dt.Rows)
                    {
                        Products ps = new Products();

                        ps.Products_Name = dtRow["Product_Name"].ToString();
                        ps.Products_Category = dtRow["Product_Category"].ToString();
                        ps.Products_Description = dtRow["Product_Description"].ToString();
                        ps.Products_Price = dtRow["Product_Price"].ToString();
                        ps.Products_Quantity = dtRow["Product_Quantity"].ToString();


                    }

                }

            }
            return p.ToArray();  
            // Here is the error, cannot be converted implicitly
        }

            public class Products

            public int Products_Id { get; set; }
            public string Products_Name { get; set; }
            public string Products_Description { get; set; }

            public string Products_Category { get; set; }
            public string Products_Price { get; set; }
            public string Products_Quantity { get; set; }
        }
    }
  }

请帮助我运行此代码。

您的返回类型是
产品
,但您正在尝试返回
列表

将方法签名更改为

public static List<Products> GetProducts()

您应该在
Products[]
中返回它,而不是
Products

所以你的代码应该是

[WebMethod]
    public static Products[] GetProducts()
    {
        List<Products> p = new List<Products>();
        string query = "Select Product_Name, Product_Description, Product_Category, Product_Price, Product_Quantity from Items";
[WebMethod]
公共静态产品[]GetProducts()
{
列表p=新列表();
string query=“从物料中选择产品名称、产品描述、产品类别、产品价格、产品数量”;
如果需要更多帮助,请告诉我

public static List<Products> GetProducts()
p.Add(ps);
[WebMethod]
    public static Products[] GetProducts()
    {
        List<Products> p = new List<Products>();
        string query = "Select Product_Name, Product_Description, Product_Category, Product_Price, Product_Quantity from Items";