C# MVC:通过选择ListItem我得到;System.NullReferenceException:对象引用未设置为对象的实例;错误

C# MVC:通过选择ListItem我得到;System.NullReferenceException:对象引用未设置为对象的实例;错误,c#,asp.net-mvc,C#,Asp.net Mvc,通过选择ListItem,我得到“System.NullReferenceException:对象引用未设置为对象的实例。”错误。我错了什么 这是我的xml: <?xml version="1.0" encoding="utf-8"?> <Artiesten> <Item ID_Artiest="509998" Artiest="-" Product="-" Land="" Plaats="" Website="" Genre="Onbekend" />

通过选择ListItem,我得到“System.NullReferenceException:对象引用未设置为对象的实例。”错误。我错了什么

这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<Artiesten>
  <Item ID_Artiest="509998" Artiest="-" Product="-" Land="" Plaats="" Website="" Genre="Onbekend" />
  <Item ID_Artiest="970119" Artiest="(hed)p.e." Product="-" Land="" Plaats="" Website="" Genre="Onbekend" />
  <Item ID_Artiest="970080" Artiest="(urusei) yatsura" Product="-" Land="" Plaats="" Website="" Genre="Noise" />
  <Item ID_Artiest="1010302" Artiest="...and you will know us by the trail of dead" Product="-" Land="Verenigde Staten" Plaats="Austin (TX)" Website="" Genre="Noise" />
...
</Artiesten>
控制器由下一个下拉列表调用:

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">    
    <% using (Html.BeginForm("Index", "Hitdossier", FormMethod.Post, new { id = "frmArtiest" })) %>
    <% { %>
        <table><tr><th width="1000" align="left">Selecteer artiest:</th></tr>
            <tr>
                <td><%= Html.DropDownList("ID_Artiest",
                    new SelectList(ViewBag.ArtiestenLijst, "Value", "Text"),
                    "-- Selecteer artiest --",
                    new
                    {
                        @onchange = "document.getElementById('frmArtiest').submit();"
                    })%>
                </td>
            </tr>
        </table>
        <br />
        <br />
        <div id="divPartialView">
            <%= Html.Action("Detail_Hitdossier", new { AID_Artiest = ViewBag.ID_Artiest })%> <br />
        </div>
    <%} %> 
</asp:Content>

Selecteer Artest:




谢谢

请像这样初始化为新对象
ArtiestenLijst=新的ArtiestenLijst()然后在控制器中使用后,您将以小写形式读取节点ID\u artiest,而xml显示为小写

改变

Value = artiest.Attribute("ID_artiest").Value,


如果
artiest.Attribute(“ID\u artiest”)
导致空值,则读取属性值将引发空引用异常。

在公共操作结果索引中,错误出现在以下行:==>选择新SelectListItem是否正确加载了XML文档?如果调试它,您能看到其中的元素吗?很抱歉,这是一个区分大小写的问题。。。但是谢谢你的回答,
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">    
    <% using (Html.BeginForm("Index", "Hitdossier", FormMethod.Post, new { id = "frmArtiest" })) %>
    <% { %>
        <table><tr><th width="1000" align="left">Selecteer artiest:</th></tr>
            <tr>
                <td><%= Html.DropDownList("ID_Artiest",
                    new SelectList(ViewBag.ArtiestenLijst, "Value", "Text"),
                    "-- Selecteer artiest --",
                    new
                    {
                        @onchange = "document.getElementById('frmArtiest').submit();"
                    })%>
                </td>
            </tr>
        </table>
        <br />
        <br />
        <div id="divPartialView">
            <%= Html.Action("Detail_Hitdossier", new { AID_Artiest = ViewBag.ID_Artiest })%> <br />
        </div>
    <%} %> 
</asp:Content>
Value = artiest.Attribute("ID_artiest").Value,
Value = artiest.Attribute("ID_Artiest").Value,