Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取要在网格c#asp.net中显示的foreach项_C#_Asp.net_Web Services_Gridview_Foreach - Fatal编程技术网

获取要在网格c#asp.net中显示的foreach项

获取要在网格c#asp.net中显示的foreach项,c#,asp.net,web-services,gridview,foreach,C#,Asp.net,Web Services,Gridview,Foreach,我正在使用,我有一个id为forecast的gridview。如何在gridview中显示foreach项?我试过使用 forecast += item.Date.ToShortDateString() + " " + item.Desciption + "|"; 但是我得到了错误 “System.Web.UI.WebControl.GridView”不包含“forecast”的定义,并且没有扩展方法“forecast”接受第一个 找不到类型为“System.Web.UI.WebContr

我正在使用,我有一个id为
forecast
的gridview。如何在gridview中显示foreach项?我试过使用

forecast += item.Date.ToShortDateString() + "   " + item.Desciption + "|";
但是我得到了错误

“System.Web.UI.WebControl.GridView”不包含“forecast”的定义,并且没有扩展方法“forecast”接受第一个 找不到类型为“System.Web.UI.WebControl.GridView”的参数 (是否缺少using指令或程序集引用?)


如果已将
AutoGenerateColumns
属性设置为
true
或根本未设置(默认为true),则无需循环数据并绑定gridview。如果要将
日期
说明
显示为单独的列,则可以使用如下标记:-

<asp:GridView ID="forecast" runat="server" AutoGenerateColumns="false">
            <Columns>
                <asp:BoundField HeaderText="Date" DataField="Date" />
                <asp:BoundField HeaderText="Desciption " DataField="Desciption " />
            </Columns>
        </asp:GridView>


这将显示不带格式的数据,但如果您希望进行某些格式设置,则可以在分配数据源之前(通过将其存储在DataTable或自定义列表中)或在gridview的
RowDataBound
事件中进行设置。

使用以下代码<代码>预测项类应在单独的文件中定义。并向gridview中添加两列,将它们的
数据字段
属性设置为
日期
说明
(或将
自动生成列
设置为true)

公共类预测项
{
公共字符串日期{get;set;}
公共字符串说明{get;set;}
}
.
.
.
WeatherService.WeatherSoapClient weather=新的WeatherService.WeatherSoapClient(“WeatherSoap”);
WeatherService.forecasterturn for=weather.GetCityForecastByZIP(Zip.Text);
如果(为了成功)
{
response.Text=for.ResponseText;
city.Text=for.city;
State.Text=for.State;
WeatherStationCity.Text=for.WeatherStationCity;
List forecastItems=新列表();
foreach(ForecasterResult中的var项)
{
添加(新的ForcastItem(){
日期=item.Date.ToShortDateString(),
描述=项目。描述
});
}
forecast.DataSource=预测项;
forecast.DataBind();
}

根据您的错误,我认为您没有发布正确的代码!这里的
forecast
是什么?我发布了正确的代码,gridview id是forecast。我不知道如何在gridview中显示本周的预测结果:/@Yogi970使用服务OP创建一个
datatable
,并用这个
datatable
绑定您的gridview,预测在哪里定义?@whateggs-然后创建一个自定义类型,我稍后解释,填充它,然后分配给您的gridview。也可以将服务的XML输出拖放到VS 2013中,它将为您创建类定义。@MikeWeber,我不知道。请详细说明。把什么拖到哪里?!抱歉,这部分是不正确的-如果您复制XML输出并在VS中编辑->粘贴特殊->XML,它将为您生成类。不完全是一拖再拖。
<asp:GridView ID="forecast" runat="server" AutoGenerateColumns="false">
            <Columns>
                <asp:BoundField HeaderText="Date" DataField="Date" />
                <asp:BoundField HeaderText="Desciption " DataField="Desciption " />
            </Columns>
        </asp:GridView>
public class ForecastItem
{
  public string Date {get;set;}
  public string Description {get;set;}
}

.
.
.

WeatherService.WeatherSoapClient weather = new WeatherService.WeatherSoapClient("WeatherSoap");
WeatherService.ForecastReturn for = weather.GetCityForecastByZIP(Zip.Text);

if (for.Success)
{
    response.Text = for.ResponseText;
    city.Text = for.City;
    State.Text = for.State;
    WeatherStationCity.Text = for.WeatherStationCity;
    List<ForecastItem> forecastItems = new List<ForecastItem>();
    foreach (var item in for.ForecastResult)
    {
         forecastItems.Add(new ForcastItem() {
             Date = item.Date.ToShortDateString(),
             Description = item.Desciption
         });
    }
    forecast.DataSource = forecastItems;
    forecast.DataBind();
}