我使用ASP.NEt进行简单的数据库查询并返回JSON格式化数据。 现在我有以下代码显示数据库的结果:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1"
EmptyDataText="There are no data records to display.">
<Columns>
<asp:BoundField DataField="ScanId" HeaderText="ScanId" ReadOnly="True"
SortExpression="ScanId" />
<asp:BoundField DataField="UserId" HeaderText="UserId"
SortExpression="UserId" />
<asp:BoundField DataField="barcode" HeaderText="barcode"
SortExpression="barcode" />
<asp:BoundField DataField="latitude" HeaderText="latitude"
SortExpression="latitude" />
<asp:BoundField DataField="longitude" HeaderText="longitude"
SortExpression="longitude" />
<asp:BoundField DataField="date_time" HeaderText="date_time"
SortExpression="date_time" />
<asp:BoundField DataField="locatio_name" HeaderText="locatio_name"
SortExpression="locatio_name" />
<asp:BoundField DataField="pos_accuracy" HeaderText="pos_accuracy"
SortExpression="pos_accuracy" />
<asp:BoundField DataField="pos_country" HeaderText="pos_country"
SortExpression="pos_country" />
<asp:BoundField DataField="pos_territory" HeaderText="pos_territory"
SortExpression="pos_territory" />
<asp:BoundField DataField="pos_city" HeaderText="pos_city"
SortExpression="pos_city" />
<asp:BoundField DataField="pos_street" HeaderText="pos_street"
SortExpression="pos_street" />
<asp:BoundField DataField="speed" HeaderText="speed" SortExpression="speed" />
<asp:BoundField DataField="course" HeaderText="course"
SortExpression="course" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:dbConnectionString1 %>"
ProviderName="<%$ ConnectionStrings:dbConnectionString1.ProviderName %>"
SelectCommand="SELECT [ScanId], [UserId], [barcode], [latitude], [longitude], [date_time], [locatio_name], [pos_accuracy], [pos_country], [pos_territory], [pos_city], [pos_street], [speed], [course] FROM [ScanDetails] WHERE [UserId] = '1'">
</asp:SqlDataSource>
我可以使用它来获取数据JSON吗?你能指出我正确的方向吗?
修改
我有一个移动应用加载.aspx,它将JSON数据返回给应用。所以我基本上需要某种Response.Write(json_data); 虽然我整天都在寻找可能的解决方案,但我不知道如何实现这一点。 我设法使用ADO.NET实体数据模型并以这种方式进行查询:
在控制器中我做了:
public class ReadController:Controller {
dbEntities1 _db = new dbEntities1();
//
// GET: /Read/
public ActionResult Index()
{
ViewBag.myData = from c in _db.users select c;
return View();
}
}
我认为:
<% foreach (scan_barcode2sql_com.Models.user c in (IEnumerable)ViewBag.myData)
{ %>
<%= c.username %>
<% } %>
答案 0 :(得分:1)
只是为了完整......
Gridview呈现HTML表格,当Jquery / Javascript可以访问它以获取其数据时,在ASP.NET应用程序中简单地创建可以返回JSON数据的端点更容易。以下是一些方法,我个人最喜欢的是jQuery到ASP.NET MVC,因为你可以创建一个控制器来处理和呈现HTML输出和JSON数据到同一个模型。
HTH