C# 如何使用json和ajax从asp.net中的sql server数据库填充列表
我想从使用jquery mobile、asp.net、C和sql server数据库的数据库中填充一个列表 我编写了一个服务,以从数据库中获取数据作为数据集,但无法将数据集转换为json可以理解的内容 这就是我的服务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
[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它帮助了我谢谢,很高兴能帮助我。你能把这个标记为答案吗?然后你把它改成你自己的答案。好吧,我不想拿学分,但我是为像我这样的初学者做的,他们想用一个例子来解决问题,所以如果你认为我不应该这样做,我会把你的答案标记为正确答案,因为你真的值得