我正在尝试在 FormView 中构建一个地址,该地址依赖于具有联系人姓名列表的 GridView。
当我单击 GridView 中账单名称旁边的选择按钮时,它会在 FormView 中显示账单地址。当我在已经选择账单的情况下再次单击它时,它会引发 NullReferenceException 错误。
我有以下字段:address_line_1、address_line_2、address_line_3
我试图构建代码,以便在字段为空或包含空值时不会生成浪费的空白行。
<asp:FormView ID="addressDetails" runat="server" DataSourceID="ADetails" DataKeyNames="address_id" AllowPaging="true" >
<ItemTemplate>
<% If Not String.IsNullOrEmpty(addressDetails.DataItem("address_line_1").ToString()) Then%>
<asp:Label ID="lblAddressLine1" runat="server" Text='<%# Bind("address_line_1") %>' /><br />
<% End If%>
<% If Not String.IsNullOrEmpty(addressDetails.DataItem("address_line_2").ToString()) Then%>
<asp:Label ID="lblAddressLine2" runat="server" Text='<%# Bind("address_line_2") %>' /><br />
<% End If%>
<% If Not String.IsNullOrEmpty(addressDetails.DataItem("address_line_3").ToString()) Then%>
<asp:Label ID="lblAddressLine3" runat="server" Text='<%# Bind("address_line_3") %>' /><br />
<% End If%>
</ItemTemplate>
</asp:FormView>
我得到的异常是“用户代码未处理 NullReferenceException”:
<% If Not String.IsNullOrEmpty(addressDetails.DataItem("address_line_1").ToString()) Then%>
有谁知道为什么它第一次有效但第二次无效?