在ASP.NET应用程序(MVC)中我有一个foreach循环,循环遍历可能包含或不包含某个元素的结构:
<% foreach (XElement segnalazione in ((XElement)ViewData["collezioneSegnalazioni"]).Elements("dossier")) { %>
<tr>
<td><%= Html.Encode(segnalazione.Element("NUM_DOSSIER").Value) %></td>
<td><%= Html.Encode(segnalazione.Element("ANAG_RAGSOC_CGN").Value) %></td>
<td><%= Html.Encode(segnalazione.Element("ID_RIFATT_SEGN0").Value) %></td>
<td><%= Html.Encode(segnalazione.Element("FLG_STATUS").Value) %></td>
<td><%= Html.Encode(segnalazione.Element("DT_ACCADIMENTO").Value)%></td>
<td><%= Html.Encode(segnalazione.Element("COD_RAMO_LUNA").Value) %></td>
</tr>
<% } %>
现在,当在XElement中未设置Element(“DT_ACCADIMENTO”)时,我得到NullReferenceException。有一个快速的方法来处理这个?我试过
<td><%= Html.Encode(segnalazione.Element("DT_ACCADIMENTO").Value ?? "")%></td>
但它不起作用,我想,它会检查 Value 是否为null,我对字段本身有问题。 任何帮助appriciated
答案 0 :(得分:3)
<td><%= Html.Encode((string)segnalazione.Element("DT_ACCADIMENTO") ?? "")%></td>
答案 1 :(得分:1)
尝试使用:
segnalazione.Element("NUM_DOSSIER") == null ? "" : segnalazione.Element("NUM_DOSSIER").Value