代码之家  ›  专栏  ›  技术社区  ›  pistacchio

ASP.NET:foreach循环中的句柄为空

  •  1
  • pistacchio  · 技术社区  · 16 年前

    在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>
            <% } %>
    

    现在,当元素(“dt_Accadimento”)未在Xelement中设置时,我得到一个NullReferenceException。有没有快速的方法来处理这个?我尝试过

    <td><%= Html.Encode(segnalazione.Element("DT_ACCADIMENTO").Value ?? "")%></td>
    

    但我想,它不会像检查 价值 为空,其中字段本身存在问题。 有什么合适的帮助吗

    2 回复  |  直到 16 年前
        1
  •  3
  •   Mehrdad Afshari    16 年前
    <td><%= Html.Encode((string)segnalazione.Element("DT_ACCADIMENTO") ?? "")%></td>
    
        2
  •  1
  •   Ronald Wildenberg    16 年前

    尝试使用:

    segnalazione.Element("NUM_DOSSIER") == null ? "" : segnalazione.Element("NUM_DOSSIER").Value