ASP:对象引用未设置为对象的实例
发布时间:2023-02-18 08:39:21 所属栏目:Asp 来源:互联网
导读:如何解决ASP:对象引用未设置为对象的实例? | 我正在尝试将值从数据源传递给标签,但它一直在给我这个错误。 form1.aspx: asp:FormView ID=ProductsView DataSourceID=ProductDataSource DataKeyNames=Parking_ID runat=server ItemTemplate div s
![]() 如何解决ASP:对象引用未设置为对象的实例? | 我正在尝试将值从数据源传递给标签,但它一直在给我这个错误。 form1.aspx: <asp:FormView ID="ProductsView" DataSourceID="ProductDataSource" DataKeyNames="Parking_ID" runat="server" > <ItemTemplate> <div style="width: 200px; height: 200px; border: solid 10px white; background-position: center; background-repeat: no-repeat; background-image: url('<%# Eval("Parking_ID","images/{0}.bmp") %>');"> </div> <asp:HiddenField Value='<%# Eval("Parking_Cost") %>' ID="hiddenPrice" runat="server" /> <asp:HiddenField Value='<%# Eval("Parking_Name") %>' ID="hiddenName" runat="server" /> <asp:HiddenField Value='<%# Eval("Parking_ID") %>' ID="HiddenField1" runat="server" /> </ItemTemplate> </asp:FormView> <asp:Label ID="lblName" runat="server" Text="TEST" CssClass="title" Style="font-size: 17px; display: block;"></asp:Label> <asp:Label ID="lblPrice" runat="server" Text="TEST" CssClass="title" Style="color: Red; font-size: 12px;"></asp:Label> <asp:Label ID="lbl_ID" runat="server" Text="" CssClass="title" Style="color: Red; font-size: 12px;"></asp:Label> <asp:sqlDataSource ID="ProductDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:mydatabaseConnectionString2 %>" ProviderName="System.Data.sqlClient" SelectCommand="SELECT * FROM [Parking] WHERE ([Parking_ID] = @Parking_ID)"> <SelectParameters> <asp:Parameter Name="Parking_ID" Type="Int32" /> </SelectParameters> </asp:sqlDataSource> form1.aspx.vb: lblName.Text = DirectCast(Me.ProductsView.FindControl("hiddenName"),HiddenField).Value 我正在使用vb.net脚本 有任何想法吗 ? 问候。 解决方法 控件通常位于FormView的数据行中。 尝试 lblName.Text = DirectCast(Me.ProductsView.Row.FindControl("hiddenName"),HiddenField).Value 但是一般来说,当您使用 Control.FindControl() 时,如果找不到find3ѭ,有机会返回 Nothing 。所以最好的办法是做一个ѭ5而不是 DirectCast ,并检查它是否是 Nothing 。 ,我猜错误源是以下语句: Me.ProductsView.FindControl("hiddenName") 原因是您在 ProductsView 控件中没有 Control ,而ѭ11的 ID 。 您可能需要使用递归函数来获取控件。 ,此代码是否在bind事件中? lblName.Text = DirectCast(Me.ProductsView.FindControl("hiddenName"),HiddenField).Value 如果是这样,可能是您必须检查它正在运行哪个模板: if (e.Item.ItemType == ItemType || e.Item.ItemType == AlternateItemType) (我不确定 FormView 的类型,但在 GridView 中会是这样。 控件.17ѭ在其他模板上不存在。 另外,您还必须从 e.Item 中找到当前模板的控件。 (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |