【问题标题】:Error in unintuitive place reading in DataList [closed]DataList中不直观的地方读取错误[关闭]
【发布时间】:2014-02-07 20:43:23
【问题描述】:
***ERROR***
***********
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
***********
Line: <td>< asp:Label ID="Label59" runat="server" Text='<%# Eval("field2").Equals("") ? "" : Eval("field3") + " " + Eval("field4") + " " + Eval("field 5") %>' /></td>
***********
***********

嗨,

感谢能够获得任何反馈。我对使用 3.5 的 ASP.NET 有点陌生

将新字段添加到现有 sqlreader 类后出现错误。该错误应该指向数据列表中的空值。但是如果去掉这一行,整个ItemTemplate就没有问题了。

_var= reader["field"] != null ? (int)reader["field"] : 0;

sqlreader 类的唯一其他变化是新字段的设置。

提前谢谢你

【问题讨论】:

    标签: sql datalist sqldatareader sqlconnection itemtemplate


    【解决方案1】:

    如果您的field2 包含null,则Eval("field2") 将是null,因此您在调用Equals 时将获得一个空引用。只需交换操作数:

    <%# "".Equals(Eval("field2")) ? "" : Eval("field3") + " " + Eval("field4") + " " + Eval("field 5") %>
    

    虽然我建议与null 进行比较,后者更具可读性并且可能更正确。

    【讨论】:

    • 感谢您的帮助。这让我克服了错误。令人困惑,因为没有空条目。阅读 Asp.Net。最终在没有 DataList 这个页面的情况下做的事情有点不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 2016-09-20
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多