Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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
Asp.net RowDataBound命令错误_Asp.net_Gridview - Fatal编程技术网

Asp.net RowDataBound命令错误

Asp.net RowDataBound命令错误,asp.net,gridview,Asp.net,Gridview,两个按钮的错误相同。我认为这是部分RowDataBound命令: protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { } 错误代码: 对象引用未设置为对象的实例。描述:安 执行当前网站时发生未处理的异常 要求请查看堆栈跟踪以了解有关堆栈的更多信息 错误及其在代码中的起源 例外情况详情: System.NullReferenceException:对象引用未设置为实例 指一个物体 Defau

两个按钮的错误相同。我认为这是部分
RowDataBound
命令:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
}
错误代码:

对象引用未设置为对象的实例。描述:安 执行当前网站时发生未处理的异常 要求请查看堆栈跟踪以了解有关堆栈的更多信息 错误及其在代码中的起源

例外情况详情:

System.NullReferenceException:对象引用未设置为实例 指一个物体

Default.aspx

<asp:GridView ID="GridView1" 
    runat="server"
    DataSourceID="SqlDataSource1"
    AutoGenerateColumns="false"
    DataKeyNames="idt" 
    OnDataBound="GridView1_RowDataBound"
    showfooter="true">
    <Columns>
        <asp:BoundField DataField="idt" HeaderText="idt" Readonly="true" SortExpression="idt" />
        <asp:BoundField DataField="datetime" HeaderText="datetime" SortExpression="datetime" />
        <asp:TemplateField SortExpression="col1">
            <HeaderTemplate>
                <asp:TextBox ID="TextBoxHeadercol1" text="col1" runat="server" MaxLength="40" />
            </HeaderTemplate>
                <EditItemTemplate>
                    <asp:TextBox ID="txt1" runat="server" Text='<%# Eval("col1") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="lbl1" runat="server" Text='<%# Bind("col1") %>'></asp:Label>
                </ItemTemplate>
            <FooterTemplate>
                <asp:TextBox ID="TextBoxFootercol1" text="col1" runat="server" MaxLength="40" />
            </FooterTemplate>
       </asp:TemplateField>
        <asp:TemplateField SortExpression="col2">
            <HeaderTemplate>
                <asp:TextBox ID="TextBoxHeadercol2" text="col2" runat="server" MaxLength="40" />
            </HeaderTemplate>
                <EditItemTemplate>
                    <asp:TextBox ID="txt2" runat="server" Text='<%# Eval("col2") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="lbl2" runat="server" Text='<%# Bind("col2") %>'></asp:Label>
                </ItemTemplate>
            <FooterTemplate>
                <asp:TextBox ID="TextBoxFootercol2" text="col2" runat="server" MaxLength="40" />
            </FooterTemplate>
        </asp:TemplateField>
        <asp:TemplateField SortExpression="col3">
            <HeaderTemplate>
                <asp:TextBox ID="TextBoxHeadercol3" text="col3" runat="server" MaxLength="40" />
            </HeaderTemplate>
                <EditItemTemplate>
                    <asp:TextBox ID="txt3" runat="server" Text='<%# Eval("col3") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="lbl3" runat="server" Text='<%# Bind("col3") %>'></asp:Label>
                </ItemTemplate>
            <FooterTemplate>
                <asp:TextBox ID="TextBoxFootercol3"  text="col3" runat="server" MaxLength="40" />
            </FooterTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
            <HeaderTemplate>
                <asp:LinkButton OnClick="btninsert_Click"  ID="btninsert" runat="server" >Insert Into</asp:LinkButton>
            </HeaderTemplate>
            <FooterTemplate>
                <asp:TextBox ID="TextBoxAllTotal" Text="Total" runat="server" MaxLength="40" />
            </FooterTemplate>
       </asp:TemplateField>
       <asp:TemplateField>
            <FooterTemplate>
                <asp:LinkButton OnClick="btntotal_Click"  ID="btntotal" runat="server" >Total</asp:LinkButton>
            </FooterTemplate>
       </asp:TemplateField>
    </Columns>
</asp:GridView>
<asp:SqlDataSource
    id="SqlDataSource1"
    ConnectionString="<%$ ConnectionStrings:connone %>"
    SelectCommand="SELECT * FROM [test];
    InsertCommand="INSERT INTO [test] ([datetime],[col1],[col2],[col3]) VALUES (@datetime,@col1,@col2,@col3);"
    runat="server">
    <InsertParameters>
        <asp:Parameter Name="datetime" Type="DateTime" />
        <asp:Parameter Name="col1" Type="String" />
        <asp:Parameter Name="col2" Type="String" />
        <asp:Parameter Name="col3" Type="String" />
    </InsertParameters>
</asp:SqlDataSource>

插入
全部的

RowDataBound
是空的,那么为什么您认为它导致了
NullReferenceException
?我认为指向该行的指针不正确。两个按钮都会出现相同的错误。您无法从
btntotal\u单击
访问
EditItemTemplate
中的
文本框。仅当栅格处于编辑模式时。因此
testxt1.Text
会导致异常。如果我用标签翻转文本框?标签到gridview的输出将混乱。是否有其他模板用于文本框?
<asp:GridView ID="GridView1" 
    runat="server"
    DataSourceID="SqlDataSource1"
    AutoGenerateColumns="false"
    DataKeyNames="idt" 
    OnDataBound="GridView1_RowDataBound"
    showfooter="true">
    <Columns>
        <asp:BoundField DataField="idt" HeaderText="idt" Readonly="true" SortExpression="idt" />
        <asp:BoundField DataField="datetime" HeaderText="datetime" SortExpression="datetime" />
        <asp:TemplateField SortExpression="col1">
            <HeaderTemplate>
                <asp:TextBox ID="TextBoxHeadercol1" text="col1" runat="server" MaxLength="40" />
            </HeaderTemplate>
                <EditItemTemplate>
                    <asp:TextBox ID="txt1" runat="server" Text='<%# Eval("col1") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="lbl1" runat="server" Text='<%# Bind("col1") %>'></asp:Label>
                </ItemTemplate>
            <FooterTemplate>
                <asp:TextBox ID="TextBoxFootercol1" text="col1" runat="server" MaxLength="40" />
            </FooterTemplate>
       </asp:TemplateField>
        <asp:TemplateField SortExpression="col2">
            <HeaderTemplate>
                <asp:TextBox ID="TextBoxHeadercol2" text="col2" runat="server" MaxLength="40" />
            </HeaderTemplate>
                <EditItemTemplate>
                    <asp:TextBox ID="txt2" runat="server" Text='<%# Eval("col2") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="lbl2" runat="server" Text='<%# Bind("col2") %>'></asp:Label>
                </ItemTemplate>
            <FooterTemplate>
                <asp:TextBox ID="TextBoxFootercol2" text="col2" runat="server" MaxLength="40" />
            </FooterTemplate>
        </asp:TemplateField>
        <asp:TemplateField SortExpression="col3">
            <HeaderTemplate>
                <asp:TextBox ID="TextBoxHeadercol3" text="col3" runat="server" MaxLength="40" />
            </HeaderTemplate>
                <EditItemTemplate>
                    <asp:TextBox ID="txt3" runat="server" Text='<%# Eval("col3") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="lbl3" runat="server" Text='<%# Bind("col3") %>'></asp:Label>
                </ItemTemplate>
            <FooterTemplate>
                <asp:TextBox ID="TextBoxFootercol3"  text="col3" runat="server" MaxLength="40" />
            </FooterTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
            <HeaderTemplate>
                <asp:LinkButton OnClick="btninsert_Click"  ID="btninsert" runat="server" >Insert Into</asp:LinkButton>
            </HeaderTemplate>
            <FooterTemplate>
                <asp:TextBox ID="TextBoxAllTotal" Text="Total" runat="server" MaxLength="40" />
            </FooterTemplate>
       </asp:TemplateField>
       <asp:TemplateField>
            <FooterTemplate>
                <asp:LinkButton OnClick="btntotal_Click"  ID="btntotal" runat="server" >Total</asp:LinkButton>
            </FooterTemplate>
       </asp:TemplateField>
    </Columns>
</asp:GridView>
<asp:SqlDataSource
    id="SqlDataSource1"
    ConnectionString="<%$ ConnectionStrings:connone %>"
    SelectCommand="SELECT * FROM [test];
    InsertCommand="INSERT INTO [test] ([datetime],[col1],[col2],[col3]) VALUES (@datetime,@col1,@col2,@col3);"
    runat="server">
    <InsertParameters>
        <asp:Parameter Name="datetime" Type="DateTime" />
        <asp:Parameter Name="col1" Type="String" />
        <asp:Parameter Name="col2" Type="String" />
        <asp:Parameter Name="col3" Type="String" />
    </InsertParameters>
</asp:SqlDataSource>