2011-10-21 22 views
2

DataBinding:'System.Web.UI.WebControls.XmlDataSourceNodeDescriptor'不包含名稱爲'name'的屬性。我希望xml數據綁定到使用xmldatasource的Listbox,但我得到了錯誤

的XML文件:

<Persons> 
    <Person > 
    <id>1</id> 
    <name>jkl</name> 
    </Person> 
    <Person > 
    <id>2</id> 
    <name>jhk</name> 
    </Person> 
    <Person > 
    <id>3</id> 
    <name>kjh</name> 
    </Person> 
    <Person > 
    <id>4</id> 
    <name>jhkj</name> 
    </Person> 
    <Person > 
    <id>5</id> 
    <name>lj</name> 
    </Person> 
    <Person > 
    <id>6</id> 
    <name>jhkl</name> 
    </Person> 
    <Person > 
    <id>7</id> 
    <name>jhj</name> 
    </Person> 
</Persons> 

我想結合列表框與XML datatextfield=namedatavaluefield=id

aspx頁面的代碼是這樣的:

<asp:ListBox ID="lstBinddata" runat="server" SelectionMode="Multiple" DataSourceID="xmldata" DataTextField="name" DataValueField="id"> 
    </asp:ListBox> 
    <asp:XmlDataSource ID="xmldata" runat="server" DataFile="xmldata.xml"> </asp:XmlDataSource>        
+0

plz幫助我... ........... – Kartik

回答

0

我認爲你必須設置的XmlDataSource的XPath屬性。我想這應該是:

XPath="Persons/Person" 
+0

還沒有像DataBinding這樣的錯誤:'System.Web.UI.WebControls.XmlDataSourceNodeDescriptor'不包含名稱爲'name'的屬性。 – Kartik

+0

我試過了你的代碼,把XPath改成了「Person」,異常消失了。但是我沒有在ListBox中綁定任何數據。有趣的問題:),我不知道... – Michal

+0

亞這就是問題,如果你會得到解決方案,然後PLZ告訴我......... – Kartik

0

您必須使用:

XPath("name") 

同樣,你也可以用它來訪問id的值:

XPath("id") 
相關問題