Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.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# 如何使用json和ajax从asp.net中的sql server数据库填充列表_C#_Asp.net_Sql Server_Ajax_Jquery Mobile - Fatal编程技术网

C# 如何使用json和ajax从asp.net中的sql server数据库填充列表

C# 如何使用json和ajax从asp.net中的sql server数据库填充列表,c#,asp.net,sql-server,ajax,jquery-mobile,C#,Asp.net,Sql Server,Ajax,Jquery Mobile,我想从使用jquery mobile、asp.net、C和sql server数据库的数据库中填充一个列表 我编写了一个服务,以从数据库中获取数据作为数据集,但无法将数据集转换为json可以理解的内容 这就是我的服务 [System.Web.Services.WebMethod] public static DataSet GetProducts() { string query = "SELECT [product] ,[img1] ,[descr] FROM

我想从使用jquery mobile、asp.net、C和sql server数据库的数据库中填充一个列表

我编写了一个服务,以从数据库中获取数据作为数据集,但无法将数据集转换为json可以理解的内容

这就是我的服务

[System.Web.Services.WebMethod]
    public static DataSet GetProducts()
    {
        string query = "SELECT [product] ,[img1] ,[descr] FROM [ELQ].[dbo].[products]";
        SqlCommand cmd = new SqlCommand(query);

        return GetData(cmd);

    }
    private static DataSet GetData(SqlCommand cmd)
    {
        string connString = "Data Source=GHOST-PC\\STC;Initial Catalog=ELQ_z;Integrated Security=True";
        using (SqlConnection con = new SqlConnection(connString))
        {
            using (SqlDataAdapter sda = new SqlDataAdapter())
            {
                cmd.Connection = con;
                sda.SelectCommand = cmd;
                using (DataSet ds = new DataSet())
                {
                    sda.Fill(ds);
                    return ds;
                }
            }
        }
    } 
这是我的名单

 <ul data-role="listview" data-inset="true" data-filter="true">
                <li><a href="ray.html">
                    <img src="pic/ip5.jpg">
                    Iphone </a></li>
                <li><a href="scott.html">
                    <img src="pic/s2.jpg">
                    S2</a></li>
                <li><a href="todd.html">
                    <img src="pic/s3.jpg">
                    S3</a></li>
                <li><a href="dave.html">
                    <img src="pic/nt2.jpg">
                    note2</a></li>
            </ul>

如何将其转换为json并用ajax填充列表,您在ASP.Net中使用的API是什么?您使用的是web表单,还是mvc或webapi

如果希望保持代码如上所述,则需要创建DTO数据传输对象类并从数据集中填充它。然后,您可以使用Json.Net对其进行序列化,您可以使用NuGet轻松安装Json.Net

可能更好的选择是使用WebAPI和实体框架。WebAPI将为您执行序列化。这是创建一个API的好方法,jQuery移动应用程序可以访问该API来获取、发布、放置和删除数据


我相信如果你在谷歌上搜索WebAPI入门,你会发现许多打印和视频形式的入门教程。

我使用了DTO数据传输对象的方式,这是我的代码

首先,我写了一个类产品

public class product
{
    //[product] ,[img1] ,[descr]
    public string name;
    public string img1;
    public string descr;

}
然后我把getdata方法改成这样

[WebMethod]
    public List<product> getdata()
    {
        List<product> productt = new List<product> {};
        string query = "SELECT [product] ,[img1] ,[descr] FROM [ELQ].[dbo].[products]";
        SqlCommand cmd = new SqlCommand(query);
        DataSet ds = GetData(cmd);
        DataTable dt = ds.Tables[0];
        foreach(DataRow item in ds.Tables[0].Rows)
        {
            product pro = new product();
            pro.name = item["product"].ToString();
            pro.img1 = item["img1"].ToString();
            pro.descr = item["descr"].ToString();
            productt.Add(pro);
        }

        return productt; 
    }

看看这个,我试试看。。thanxThanx pilotBob它帮助了我谢谢,很高兴能帮助我。你能把这个标记为答案吗?然后你把它改成你自己的答案。好吧,我不想拿学分,但我是为像我这样的初学者做的,他们想用一个例子来解决问题,所以如果你认为我不应该这样做,我会把你的答案标记为正确答案,因为你真的值得