1

を使用しようとすると、再帰メニューを使用XMLDataSourceする際に問題が発生しますXPath。その後XPath=""、メニューが正常に機能し、ルート要素とその下のすべての階層が表示されます。しかし、メニューは少なくとも階層の第 2 レベルから開始する必要があります。XML スキーマ ファイルには次の定義が含まれています。

<xs:element name="Menu" type="TopMenuType"/>
<xs:element name="MenuItem" type="TopMenuItemType"/>

<xs:complexType name="TopMenuItemType">
    <xs:sequence>
        <xs:element type="TopMenuItemType" name="MenuItem" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute type="xs:string" name="Caption" default=""/>
</xs:complexType>

<xs:complexType name="TopMenuType">
    <xs:sequence>
        <xs:element type="TopMenuItemType" name="MenuItem" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>      
</xs:complexType>   

XML ファイル自体には、次のスキーマに従ってデータが含まれています。

<Menu xmlns="http://tempuri.org/TopMenuData.xsd">
<MenuItem Caption="Profile">
    <MenuItem Caption="Regulatory Transactions"></MenuItem>
    <MenuItem Caption="Work Management"></MenuItem>
    <MenuItem Caption="Work Queues"></MenuItem>
</MenuItem>
<MenuItem Caption="Message Queues" URL="MQ.aspx">
    <MenuItem Caption="Appointment Queues">
        <MenuItem Caption="Termination Queues"></MenuItem>
        <MenuItem Caption="Filling Status"></MenuItem>
    </MenuItem>
</MenuItem>

/MenuXPath に値 ( 、//MenuItem/MenuItem、 など)を割り当てようとすると/Menu/MenuItem、設計時にメニュー コントロールが表示されThere was an error rendering the control、実行時には何も表示されません。

refXSD 定義で属性を使用しようとしました。それは私を助けませんでした。

なにが問題ですか?回答ありがとうございます

4

1 に答える 1

0

XML の本当の問題は再帰ではありませんでした。再帰は正常に機能します。問題は名前空間にありました。JLRisheのコメントによると、名前空間を追加することでこの問題を解決できます。( My Menu は、 XPath="/*"を割り当てる必要があるため、機能を開始しました)。ありがとう。

于 2013-02-11T07:07:09.920 に答える