将数组放入表ASP.net C#

时间:2017-01-28 11:41:16

标签: c# asp.net

我收到了一个API的回复,其中包含一系列酒店,我希望将它存储在一个数组中,然后在表格中显示这个列表,就像这样。

//Get a response
IRestResponse<RootObject> searchResponse = client.Execute<RootObject>(searchRequest);

var hotelList = searchResponse.Data.HotelListResponse.HotelList.HotelSummary.ToArray();

foreach (var hotelSummary in hotelList.ToArray())
{
    TextBoxResults.Text = hotelSummary.hotelId.ToString();
    TextBoxResults.Text = hotelSummary.shortDescription.ToString();
    TextBoxResults.Text = hotelSummary.address1.ToString();
    TextBoxResults.Text = hotelSummary.address2.ToString();
    TextBoxResults.Text = hotelSummary.city.ToString();
}

目前,这样做只会从结果列表中返回十个结果中的一个,而不是全部10个。

我尝试做的是将列表放入一个数组中,然后在我的ASP.net页面的表格中显示结果,该列表不会包含十个以上的结果。

3 个答案:

答案 0 :(得分:2)

您选择了错误的控件来显示您的数据。文本框只能显示1个值而不是值列表。我想你正在使用表格。然后你有网格视图。 像这样使用它:

$db = Yii::$app->db;
$sql = $db->queryBuilder->batchInsert($table, $fields, $rows);
$db->createCommand($sql . ' ON DUPLICATE KEY UPDATE')->execute();

从asp.net

查看{{3}}

更新

也看看这个 {{3}}

答案 1 :(得分:2)

之所以发生这种情况,是因为你只是覆盖了MyGridview.DataSource = hotelList ; MyGridview.DataBind(); 。好像你没有Datagridview或某种类型。

答案 2 :(得分:0)

所以我按照建议使用了以下内容:

//Get a response
                IRestResponse<RootObject> searchResponse = client.Execute<RootObject>(searchRequest);

                var hotelList = searchResponse.Data.HotelListResponse.HotelList.HotelSummary.ToArray();

                foreach (var hotelSummary in hotelList.ToArray())
                {
                    GridViewResults.DataSource = hotelList;
                    GridViewResults.DataBind();
                }

这将返回所有内容,并打开列表和API提供的所有元素,最好只返回某些列,而不是全部列。