Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.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# 如果没有数据可绑定到dataBinder,如何跳到下一个asp.TemplateField?_C#_Azure_Aspxgridview - Fatal编程技术网

C# 如果没有数据可绑定到dataBinder,如何跳到下一个asp.TemplateField?

C# 如果没有数据可绑定到dataBinder,如何跳到下一个asp.TemplateField?,c#,azure,aspxgridview,C#,Azure,Aspxgridview,我正在开发一个web表单应用程序,在其中我连接到Azure数据库。我有一个SQL Select语句,它是根据选中的复选框生成的,并将数据返回到web表单中的girdview。当我选中了所有复选框时,代码会起作用 我的问题是,当我没有选中所有复选框时,我的girdview中会抛出一个错误,未选中参数的data.binder无法绑定到任何数据,因为SQL查询不会返回该数据 例如,当我没有选中复选框“WindDirectionCB”时,我会出现以下错误:System.Web.HttpException

我正在开发一个web表单应用程序,在其中我连接到Azure数据库。我有一个SQL Select语句,它是根据选中的复选框生成的,并将数据返回到web表单中的girdview。当我选中了所有复选框时,代码会起作用

我的问题是,当我没有选中所有复选框时,我的girdview中会抛出一个错误,未选中参数的data.binder无法绑定到任何数据,因为SQL查询不会返回该数据

例如,当我没有选中复选框“WindDirectionCB”时,我会出现以下错误:System.Web.HttpException类型的异常发生在System.Web.dll中,但未在用户代码中处理

其他信息:数据绑定:“System.Data.DataRowView”不包含名为“WindDirection”的属性

我是否可以在每个data.binder上设置任何条件,即如果没有数据可绑定,则跳到下一个binder

我的aspx页面

<%@ Page Title="Contact" Language="C#"  AutoEventWireup="true"   CodeBehind="Contact.aspx.cs" Inherits="MIDataV3.Contact" %>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id ="ContactHead" runat="server">
<title>Buoy 3</title>
<style type="text/css">
    .auto-style1 {
        width: 100%;
        height: 365px;
    }
    .auto-style2 {
        width: 194px;
    }
    .red {
         color:#f00;
    }
</style>

</head>


<body>
<form id="Contactform" runat="server">


    <asp:Button ID="Button1" runat="server" Text="Submit Request" OnClick="Button1_Click" />

    <asp:CheckBox ID="AtmosphericPressureCB" runat="server" Text ="Atmospheric Pressure" />  <br />
    <asp:CheckBox ID="WindDirectionCB" runat="server" Text ="Wind Direction(Degrees True)" /> <br />
    <asp:CheckBox ID="WindSpeedCB" runat="server" Text ="Wind Speed (kN)" /> <br />
    <asp:CheckBox ID="GustCB" runat="server" Text ="Gust (kN)" /> <br />
    <asp:CheckBox ID="WaveHeightCB" runat="server" Text ="Wave Height (m)" /> <br />
    <asp:CheckBox ID="WavePeriodCB" runat="server" Text ="Wave Period (s)" /> <br />
    <asp:CheckBox ID="MWDCB" runat="server" Text ="Mean Wave Direction (Degrees True)" /> <br />
    <asp:CheckBox ID="HmaxCB" runat="server" Text ="H max (m)" /> <br />
    <asp:CheckBox ID="AirTempCB" runat="server" Text ="Air Temperature (Degrees C)" /> <br />
    <asp:CheckBox ID="DewPointCB" runat="server" Text ="Dew Point (Degrees C)" /> <br />
    <asp:CheckBox ID="SeaTempCB" runat="server" Text ="Sea Temperature (Degrees C)" /> <br />
    <asp:CheckBox ID="SalinityCB" runat="server" Text ="Salinity (PSU)" /> <br />
    <asp:CheckBox ID="RelativeHumidityCB" runat="server" Text ="Relative Humidity (%)" /> <br />
    <asp:CheckBox ID="QCCB" runat="server" Text ="QC Flag" /> <br />

    <table class ="auto-style1">
         <tr>
             <td>       
                <asp:GridView ID="gv1List" runat="server" DataKeyNames="data_ID" BorderStyle="None" AutoGenerateColumns ="false" Width="100%" BackColor ="White"  BorderColor="#CCCCCC" CellPadding ="3">
                    <Columns>

                        <asp:TemplateField HeaderText ="time(UTC)">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "time")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText ="AtmosphericPressure(mb)">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "AtmosphericPressure")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText ="WindDirection(degrees_true)">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "WindDirection")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText ="WindSpeed(kn)">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "WindSpeed")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText ="Gust(kn)">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "Gust")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText ="Wave Height(m)">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "WaveHeight")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText ="Wave Period(s)">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "WavePeriod")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText ="Mean Wave Direction(degrees_true)">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "MeanWaveDirection")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText ="Hmax(m)">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "Hmax")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText ="AirTemperature(degree_C)">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "AirTemperature")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText ="DewPoint(degree_C)">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "DewPoint")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText ="SeaTemperature(degree_C)">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "SeaTemperature")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText ="Salinity(PSU)">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "Salinity")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText ="RelativeHumidity(percent)">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "RelativeHumidity")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText ="QC_Flag">
                            <ItemTemplate>
                                 <%# DataBinder.Eval(Container.DataItem, "QC_Flag")%>
                            </ItemTemplate>
                        </asp:TemplateField>

                    </Columns>

                <FooterStyle BackColor="White" ForeColor="#000066" />
                <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
                <RowStyle ForeColor="#000066" />
                <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
                <SortedAscendingCellStyle BackColor="#F1F1F1" />
                <SortedAscendingHeaderStyle BackColor="#007DBB" />
                <SortedDescendingCellStyle BackColor="#CAC9C9" />
                <SortedDescendingHeaderStyle BackColor="#00547E" />


                </asp:GridView>
               <br /> <br />
            </td>
        </tr>


    </table>
</form>
</body>
</html>

浮标3
.auto-style1{
宽度:100%;
身高:365px;
}
.auto-style2{
宽度:194px;
}
瑞德先生{
颜色:#f00;
}
















我的aspx.cs代码:

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.WindowsAzure.ServiceRuntime;
namespace MIDataV3
{
public partial class Contact : Page
{

    //Set up connections
    SqlConnection connection;
    SqlCommand command;
    SqlDataAdapter adapter;
    DataSet ds;

    //Create variables
    String atmosphericPressure = " ";
    String WindDirection = " ";
    String WindSpeed = " ";
    String Gust = " ";
    String WaveHeight = " ";
    String WavePeriod = " ";
    String MeanWaveDirection = " ";
    String Hmax = " ";
    String AirTemperature = " ";
    String DewPoint = " ";
    String SeaTemperature = " ";
    String Salinity = " ";
    String RelativeHumidity = " ";
    String QC_Flag = " ";



    protected void Page_Load(object sender, EventArgs e)
    {

    }



    protected void Button1_Click(object sender, EventArgs e)
    {
        if (AtmosphericPressureCB.Checked)
       {
          atmosphericPressure = "AtmosphericPressure, "; 
       }

       if (WindDirectionCB.Checked)
       {
           WindDirection = "WindDirection, ";
       }

       if (WindSpeedCB.Checked)
       {
           WindSpeed = "WindSpeed, ";
       }

       if (GustCB.Checked)
       {
           Gust = "Gust, ";
       }

       if (WaveHeightCB.Checked)
       {
           WaveHeight = "WaveHeight, ";
       }

       if (WavePeriodCB.Checked)
       {
           WavePeriod = "WavePeriod, ";
       }
       if (MWDCB.Checked)
       {
           MeanWaveDirection = "MeanWaveDirection, ";
       }

       if (HmaxCB.Checked)
       {
           Hmax = "Hmax, ";
       }

       if (AirTempCB.Checked)
       {
           AirTemperature = "AirTemperature, ";
       }

       if (DewPointCB.Checked)
       {
           DewPoint = "DewPoint, ";
       }

       if (SeaTempCB.Checked)
       {
           SeaTemperature = "SeaTemperature, ";
       }

       if (SalinityCB.Checked)
       {
           Salinity = "Salinity, ";
       }

       if (RelativeHumidityCB.Checked)
       {
           RelativeHumidity = "RelativeHumidity, ";
       }

       if (QCCB.Checked)
       {
           QC_Flag = "QC_Flag, ";
       }

        bindAll();

    }//end bind method


    private void bindAll()
    {
        // retrieve connection from configuration settings 
        connection = new SqlConnection(RoleEnvironment.GetConfigurationSettingValue("DataConnectionString").ToString());



        // Calling Stored procedure name 
        command = new SqlCommand("SELECT " + atmosphericPressure + WindDirection + WindSpeed + Gust + WaveHeight + WavePeriod + MeanWaveDirection + Hmax + AirTemperature + DewPoint + SeaTemperature + Salinity + RelativeHumidity + QC_Flag + " data_ID, time FROM Buoy3v3 WHERE time >= '2012-10-01T01:00:00Z' AND time< '2012-10-01T08:00:00Z';", connection);
        command.CommandType = CommandType.Text;

        ds = new DataSet();

        //connection open
        connection.Open();
        adapter = new SqlDataAdapter();
        adapter.SelectCommand = command;

        // fill data set
        adapter.Fill(ds);

        //connection close
        connection.Close();

        //add the data to the gvList which is in the aspx page
        gv1List.DataSource = ds;
        gv1List.DataBind();

        gv1List.Visible = true;


    }

}
使用系统;
使用System.Collections.Generic;
使用系统数据;
使用System.Data.SqlClient;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
使用Microsoft.WindowsAzure.ServiceRuntime;
命名空间MIDataV3
{
公共部分类联系人:第页
{
//建立联系
SqlConnection连接;
SqlCommand命令;
SqlDataAdapter;
数据集ds;
//创建变量
字符串大气压力=”;
字符串WindDirection=“”;
弦风速=”;
弦阵风=”;
字符串波高=”;
字符串WavePeriod=“”;
字符串MeanWaveDirection=“”;
字符串Hmax=“”;
字符串AirTemperature=“”;
字符串露点=”;
字符串SeaTemperature=“”;
字符串“=”;
字符串相对湿度=”;
字符串QC_Flag=“”;
受保护的无效页面加载(对象发送方、事件参数e)
{
}
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
如果(大气压力检查)
{
大气压力=“大气压力”;
}
如果(WindDirectionCB.选中)
{
WindDirection=“WindDirection”;
}
如果(WindSpeedCB.已选中)
{
WindSpeed=“WindSpeed”;
}
如果(已检查)
{
古斯特=“古斯特”;
}
如果(波高Cb.选中)
{
WaveHeight=“WaveHeight”;
}
如果(已选中)
{
WavePeriod=“WavePeriod”;
}
如果(MWDCB.已选中)
{
MeanWaveDirection=“MeanWaveDirection”;
}
如果(HmaxCB.选中)
{
Hmax=“Hmax,”;
}
如果(AirTempCB.选中)
{
airtimperature=“airtimperature”;
}
如果(露点CB.选中)
{
露点=“露点”;
}
如果(SeaTempCB.选中)
{
SeaTemperature=“SeaTemperature”;
}
如果(已选中SalinityCB)
{
盐度=“盐度”;
}