在DataList中读取不直观的位置时出错

时间:2014-02-07 20:43:23

标签: sql datalist sqldatareader sqlconnection itemtemplate

***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类的唯一其他更改是新字段的get set。

提前谢谢

1 个答案:

答案 0 :(得分:2)

如果您的field2包含nullEval("field2")将为null,那么您在调用Equals时会获得null-ref。只需交换操作数:

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

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