在.net中的gridview中显示json数据

时间:2016-02-12 09:01:01

标签: c# asp.net json gridview

我已经创建了简单的shopify应用程序来检索产品详细信息。

当我从gihub访问代码时。

它成功运行并在文本框中显示产品详细信息。

我需要进行简单的更改,以在网格视图中显示产品详细信息。

这是dafault.aspx:

现有代码;

的Default.aspx:

    <%@ Page Language="C#" AutoEventWireup="true" codefile="Default.aspx.cs" Inherits="SampleWebApplication._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:TextBox ID="APIOutput" TextMode="MultiLine" runat="server"></asp:TextBox>

    </div>

    </form>
</body>
</html>

这是我的输出截图http://s22.postimg.org/xj9zacxa9/untitled.jpg

我需要在gridview中显示产品详细信息,

default.cs:

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ShopifyAPIAdapterLibrary;
using System.Configuration;
using System.Web.Services;

namespace SampleWebApplication
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            ShopifyAuthorizationState state = HttpContext.Current.Session["Shopify.AuthState"] as ShopifyAuthorizationState;
            ShopifyAPIClient client
                = new ShopifyAPIClient(state);
            APIOutput.Text = (string)client.Get("/admin/products.json");
        }
    }
}

但我只是对代码文件感到困惑,任何人都可以帮我在gridview中获取产品详细信息吗?

任何帮助都将受到高度赞赏。

提前致谢。

2 个答案:

答案 0 :(得分:0)

使用JSON.net,您可以将JSON字符串转换为DataTable。

首先,您需要在项目中添加JSON.net DLL(http://json.codeplex.com/)。然后在网页中添加其名称空间。

现在DerializeDataTable将返回数据表,你需要用你的SHOPIfY json结果替换字符串json变量;

public DataTable DerializeDataTable()
{
    const string json = @"[{""Name"":""AAA"",""Age"":""22"",""Job"":""PPP""},"
                       + @"{""Name"":""BBB"",""Age"":""25"",""Job"":""QQQ""},"
                       + @"{""Name"":""CCC"",""Age"":""38"",""Job"":""RRR""}]";
    var table = JsonConvert.DeserializeObject<datatable>(json);
    return table;
}

绑定GridView的代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
     {
         gvBind(); //Bind gridview
     }
}

public void gvBind()
{   
     var myTable=DerializeDataTable()
     gvproducts.DataSource = myTable;
     gvproducts.DataBind();
}

点击此处查看More Gridview Tutorials

编辑:

protected void Page_Load(object sender, EventArgs e)
    {
        ShopifyAuthorizationState state = HttpContext.Current.Session["Shopify.AuthState"] as ShopifyAuthorizationState;
        ShopifyAPIClient client
            = new ShopifyAPIClient(state);
        var myJsonString = (string)client.Get("/admin/products.json");
        var table = JsonConvert.DeserializeObject<datatable>(myJsonString );
        gvproducts.DataSource = table ;
        gvproducts.DataBind();
    } 

答案 1 :(得分:0)

尝试从visual studio添加对json服务的引用。然后,您将拥有适合您的json数据的类,您可以轻松地为您的TextBox解析。