我有一個XmlDataSouce
與電影和演員。我想列出每個電影與指定的演員。我正在使用ListView
控件與ClientIDMode="Predictable"
和ClientIDRowSuffix
以確保我最終可以在我的JavaScript中使用的ID。
我有以下XmlDataSource
:如何在使用XmlDataSource時在嵌套ListView上設置ClientIDRowSuffix?
<asp:XmlDataSource ID="XmlDataSource1" runat="server">
<Data>
<Movies>
<Movie Name="What Dreams May Come" Ranking="7" MovieId="6546" >
<Actor FullName="Robin Williams" ActorId="1573" />
<Actor FullName="Cuba Gooding" ActorId="1957" />
</Movie>
<Movie Name="A Beautiful Mind" Ranking="10" MovieId="5151" >
<Actor FullName="Russell Crowe" ActorId="1231" />
<Actor FullName="Ed Harris " ActorId="1923" />
</Movie>
</Movies>
</Data>
</asp:XmlDataSource>
現在我想查看:
<asp:ListView ID="ListView1" runat="server" ClientIDMode="Predictable"
ClientIDRowSuffix="MovieId" DataSourceID="XmlDataSource1">
<ItemTemplate>
<div id="item" runat="server" clientidmode="Predictable">
Name: <asp:Label ID="lblName" runat="server" Text='<%# Eval("Name") %>' /><br />
Actors:
<asp:ListView ID="Actors" runat="server"
ClientIDMode="Predictable" ClientIDRowSuffix="ActorId"
DataSource='<%# XPathSelect("Actor") %>' />
<ItemTemplate>
<asp:Label ID="lblActorName" runat="server"
Text='<%# XPath("@FullName") %>' />
</ItemTemplate>
<LayoutTemplate>
<asp:PlaceHolder id="itemPlaceholder" runat="server" />
</LayoutTemplate>
<ItemSeparatorTemplate>,</ItemSeparatorTemplate>
</asp:ListView>
<br /><br />
</div>
</ItemTemplate>
<LayoutTemplate>
<asp:PlaceHolder id="itemPlaceholder" runat="server" />
</LayoutTemplate>
</asp:ListView>
它看起來很棒,但它拋出以下異常:
數據綁定:'System.Xml.XmlElement'不包含名稱爲'ActorId'的 屬性。
我該如何設置正確的ClientIDRowSuffix
?
註釋非常感謝。
Ps。我用<%# Eval() %>
,但那個綁定到電影記錄。
你有沒有試過「@ActorId」? –
@HenkHolterman:是的,我嘗試過。它會拋出相同的異常,'不包含名稱爲'@ActorId'的屬性 –