0

我正在尝试在 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%>

有谁知道为什么它第一次有效但第二次无效?

4

1 回答 1

0

我最终重新调整了页面的很大一部分,并删除了 aspx 页面中的 If 语句。

于 2013-03-06T21:56:13.177 回答