2013-03-06 107 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();