空引用异常vb.net

时间:2019-01-07 21:33:09

标签: asp.net vb.net gridview webforms formview

我正在尝试以Web形式填充DropDownList,并且正在处理GridView中的嵌套FormView,所以我尝试了以下操作:     在我的课程BusnissMethodsLayer

Shared Function GetProductData() As ProductsDataTable
    Dim productTableAdabter As New ProductsTableAdapter
    Return productTableAdabter.GetData()
End Function

以我的网络表单:

Dim getPruducts As DataTable = BusnissMethodsLayer.GetProductData()
        CType(CType(FormView1.FindControl("GridView1"), GridView).FindControl("ProductNameDropList"), DropDownList).DataSource = getPruducts
        CType(CType(FormView1.FindControl("GridView1"), GridView).FindControl("ProductNameDropList"), DropDownList).DataBind()

asp代码:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" DataKeyNames="OrderID,ProductID" EnableModelValidation="True" ForeColor="#333333" GridLines="None" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" ShowFooter="True">
                <AlternatingRowStyle BackColor="White" />
                <Columns>
                    <asp:TemplateField HeaderText="OrderID" SortExpression="OrderID">
                        <ItemTemplate>
                            <asp:Label ID="OrderID" runat="server" Text='<%# Bind("OrderID") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="ProductID" SortExpression="ProductID">
                        <ItemTemplate>
                            <asp:Label ID="ProductID" runat="server" Text='<%# Bind("ProductID") %>'></asp:Label>
                        </ItemTemplate>
                        <FooterTemplate>
                            <asp:DropDownList ID="ProductNameDropList" DataTextField="ProductName" DataValueField="ProductName" runat="server" Width="126px">
                            </asp:DropDownList>
                        </FooterTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="UnitPrice" SortExpression="UnitPrice">
                        <ItemTemplate>
                            <asp:Label ID="Label111" runat="server" Text='<%# Bind("UnitPrice") %>'></asp:Label>
                        </ItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="UnitPrice" runat="server"></asp:TextBox>
                        </FooterTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Quantity" SortExpression="Quantity">
                        <ItemTemplate>
                            <asp:Label ID="Label1111" runat="server" Text='<%# Bind("Quantity") %>'></asp:Label>
                        </ItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="Quantity" runat="server"></asp:TextBox>
                        </FooterTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Discount" SortExpression="Discount">
                        <ItemTemplate>
                            <asp:Label ID="Label11111" runat="server" Text='<%# Bind("Discount") %>'></asp:Label>
                        </ItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="Discount" runat="server"></asp:TextBox>
                        </FooterTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Discount" SortExpression="Discount">
                        <ItemTemplate>
                            <asp:Label ID="Label111111" runat="server" Text='<%# Bind("Discount") %>'></asp:Label>
                        </ItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="Total" runat="server"></asp:TextBox>
                        </FooterTemplate>
                    </asp:TemplateField>
                </Columns>
                <EditRowStyle BackColor="#7C6F57" />
                <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
                <RowStyle BackColor="#E3EAEB" />
                <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
            </asp:GridView>

这是错误:

  

类型为'System.NullReferenceException'的异常发生在   ManageOrders2.DLL,但未在用户代码中处理

     

其他信息:对象引用未设置为的实例   对象。

PS:我之前没有嵌套就已经做到了,而且效果很好

0 个答案:

没有答案