首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从GridView获取ASP.NET中的JSON数据?

从GridView获取ASP.NET中的JSON数据?
EN

Stack Overflow用户
提问于 2012-03-06 12:56:02
回答 1查看 2.1K关注 0票数 0

我使用ASP.NEt进行简单的数据库查询,并返回JSON格式的数据。现在,我有下面的代码,它显示数据库的结果:

代码语言:javascript
代码运行次数:0
运行
复制
<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实体数据模型并以这种方式进行查询:

在主计长中,我做到了:

公共类ReadController :控制器{

代码语言:javascript
代码运行次数:0
运行
复制
    dbEntities1 _db = new dbEntities1();

    //
    // GET: /Read/
    public ActionResult Index()
    {
        ViewBag.myData = from c in _db.users select c;
        return View();
    }

}

在我看来:

代码语言:javascript
代码运行次数:0
运行
复制
<% foreach (scan_barcode2sql_com.Models.user c in (IEnumerable)ViewBag.myData)
{ %>
   <%= c.username %>
<% } %>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-07 10:03:40

只是为了完整..。

Gridview呈现出一个HTML表,虽然Jquery / Javascript可以访问它来获取数据,但在您的ASP.NET应用程序中创建一个可以返回JSON数据的端点更容易。下面是一些方法,我个人最喜欢的方法是jQuery到ASP.NET MVC,因为您可以创建一个控制器来处理和呈现相同模型的HTML和JSON。

  1. ASP.NET MVC:端到端Jquery,使用JsonResult对象和更广泛的例子的另一个例子
  2. 创建WCF服务。在这里,您可以创建一个可以从您的网站独立运行的webservice,但是,与ASP.NET MVC相比,身份验证可能是一个绑定。示例来自MSDN,使用一个简单的DataContract (在.NET对象和应该输出的对象之间进行解释)(查找数据传输对象DTO以供进一步阅读)。这里也有一个演练
  3. 在后面的代码中使用WebMethod。对于旧式ASP.NET开发人员来说,可能影响较小,您可以定义具有“Webmethod”属性的方法,该属性将充当Javascript。它可能有点微妙(特别是与MVC相比),但在实现上可能花费更少的时间。例子包括简单呼叫以及一些更复杂。我要提到的一件事是,您没有任何使用这种技术的Json自动序列化(我认为),您可能必须自己执行序列化,如本帖子所示。

HTH

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9584141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档