Asp.net:在foreach循环中处理null

发布于 2024-07-23 05:39:13 字数 1227 浏览 8 评论 0原文

在 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 是否为空,而我的字段本身有问题。 任何帮助

in a ASP.NET application (MVC) I have a foreach loop that loops through a structure that may contain or not some element:

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

Now, I get a NullReferenceException when Element("DT_ACCADIMENTO") is not set within the XElement. Is there a quick way to handle this? I tried with

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

but it does not work as, I guess, it checks if Value is null, where I have a problem with the field itself.
Any help appriciated

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你如我软肋 2024-07-30 05:39:13
<td><%= Html.Encode((string)segnalazione.Element("DT_ACCADIMENTO") ?? "")%></td>
<td><%= Html.Encode((string)segnalazione.Element("DT_ACCADIMENTO") ?? "")%></td>
一人独醉 2024-07-30 05:39:13

尝试使用:

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

Try using:

segnalazione.Element("NUM_DOSSIER") == null ? "" : segnalazione.Element("NUM_DOSSIER").Value
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文