2017-08-10 9 views
0

私は以下のような表を持っています。データは1つのクラスオブジェクトに対して正しく設定されています。私がやろうとしています何ASP.Net Web Form - .aspxファイルのテーブルを複製しようとしています

enter image description here

は、この表の5点の多くを作成し、離れてテーブル名から、他のすべてと同じを持っています。だから私は何とか複数のオブジェクトが

lblDescription [0]

lblDescription 1

そして、他のラベルと同じに移入できるように、ループの中でラベル名を持っている必要があります。

ここに私のC#のコードは、現在、単一のテーブルを作成しています。

 JavaScriptSerializer serializer = new JavaScriptSerializer(); 

     WeatherInfo weatherinfo = serializer.Deserialize<WeatherInfo>(json); 

     int i = 0; 
     foreach (List list in weatherinfo.list) 
     { 
      lblCity_Country.Text = weatherinfo.city.name; 
      //lblDescription.Text = weatherinfo.list[0].weather[0].description; 

      lblTempMin.Text = string.Format("{0}", Math.Round(weatherinfo.list[i].main.temp_min, 1)); 
      lblTempMax.Text = string.Format("{0}", Math.Round(weatherinfo.list[i].main.temp_max, 1)); 

      lblHumidity.Text = weatherinfo.list[i].main.humidity.ToString(); 
      tblWeather.Visible = true; 



      i++; 
     } 

したがって、各リストオブジェクトは1つのテーブルに値を設定します。しかし、私は自分のテーブル構成を動的に設定する必要があります。それは、任意の数の 'リスト'オブジェクトに対して機能することができるということです。私はよくこのことを説明している願っています

は、

すべてのヘルプは、あなたがデータ・コントロールを使用することができます

おかげ

+0

にあなたのリストを割り当てることができます。リピータ、データリストもチェックしてください。 –

答えて

1

をいただければ幸いです。あなたの質問によると、私はReapterをお勧めします。 https://msdn.microsoft.com/zh-tw/library/zzx23804(v=vs.85).aspx

ここでは、お客様の条件に合わせて設計されたサンプルを示します。

<asp:Repeater ID="Repeater_weatherReports" runat="server"> 
    <ItemTemplate> 
     <table> 
      <tr> 
       <th> 
        Weather Info 
       </th> 
      </tr> 
      <tr> 
       <td> 
        <asp:Label runat="server" ID="Label_city" Text='<%# Eval("city.name") %>' />&nbsp; 
        humidity:<asp:Label runat="server" ID="Label_humidity" Text='<%# Eval("main.humidity") %>' /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        min:<asp:Label runat="server" ID="Label_min" Text='<%# Eval("main.temp_min") %>' /> 
        max:<asp:Label runat="server" ID="Label_max" Text='<%# Eval("main.temp_max") %>' /> 
       </td> 
      </tr> 
     </table> 
    </ItemTemplate> 
</asp:Repeater> 

は、次に、あなたの背後にあるコードで単純にあなたが表示する​​内のデータを構築&バインドできリピータ

Repeater_weatherReports.DataSource = weatherinfo.list; 
Repeater_weatherReports.DataBind(); 
+0

ご協力いただきありがとうございます。私が持っている唯一の問題は何らかの理由で新しいラベル名が付いているため、.csxファイルから.aspxファイルのラベルIDを見ることができません。 私の.csファイルで .Textを使用する前に、ラベルID名が認識されなくなりました。これがなぜなのか? – Metzer

関連する問題