2013-03-06 104 views
0

我想要一个JSON文档,把它放到一个列表中,并将其绑定到一个gridview。我尝试了几种不同的方式,没有任何作用。这是我的代码,问题在最后4行。如何将列表绑定到gridview?

protected void Page_Load(object sender, EventArgs e) 
    { 


     var from = origin.Text; 
     var to = destination.Text; 
     var requesturl = @"http://maps.googleapis.com/maps/api/directions/json?origin =" + from + "&alternatives=false&units=imperial&destination=" + to + "&sensor=false;"; 
     string content = file_get_contents(requesturl); 


     JavaScriptSerializer jss = new JavaScriptSerializer(); 
     var d = jss.Deserialize<dynamic>(content); 
     List<string> sl = d; 

     GridView1.DataSource = content; 
     GridView1.DataBind(); 



    } 
+0

为什么你会使用呈现字符串列表一个GridView? – 2013-03-06 22:33:28

+0

@ Mt.Schneiders,我是一个noob。我来自数据库背景。返回的JSON是一组方向。我想在网格中将每一步显示为一行。 – RagePwn 2013-03-06 22:56:18

+0

看看http://stackoverflow.com/questions/5426454/liststring-as-gridview-datasource-what-do-i-put-for-datafield-in-the-gvs-bou – RandomUs1r 2013-03-06 23:35:07

回答

0

下面是列出这些方向的方法有两种:

1 - 使用GridView控件:

<asp:GridView ID="grdExample" runat="server" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:TemplateField HeaderText="Directions"> 
      <ItemTemplate> 
       <%# Container.DataItem %> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

绑定的GridView:

List<string> strings = new List<string>() { "Ha!", "Hey!", "Yo!" }; 

grdExample.DataSource = strings; 
grdExample.DataBind(); 

2 - 使用中继器(更简单,更灵活,需要是你自己的HTML):

<asp:Repeater ID="rptExample" runat="server" > 
    <ItemTemplate> 
     <%# Container.DataItem %> 
    </ItemTemplate> 
</asp:Repeater> 

绑定它:

List<string> strings = new List<string>() { "Ha!", "Hey!", "Yo!" }; 

rptExample.DataSource = strings; 
rptExample.DataBind();