Domanda

Ho il seguente XML:

<questions>
<question text="This is a test question?">
<answer value="Yes">
 <requirement articleId="2899"/>
</answer>
<answer value="No">
  <requirement articleId="2899"/>
</answer>
</question>
</questions>
.

E ho il seguente markup nella mia pagina ASPX:

<asp:Repeater ID="rptQuestions" runat="server" DataSourceID="xdsQuestions">
<ItemTemplate>
    <p>
        <asp:Label ID="lblText" runat="server" Text='<%# Eval("text") %>' />
    </p>
    <div>
        <asp:RadioButtonList ID="rblAnswers" runat="server" RepeatDirection="Horizontal"
            RepeatLayout="Flow" AutoPostBack="true" OnSelectedIndexChanged="rblAnswers_SelectedIndexChanged"
            DataSource='<%# XPathSelect("answer") %>' DataTextField="value" DataValueField="value" />
    </div>
</ItemTemplate>
</asp:Repeater>
<asp:XmlDataSource ID="xdsQuestions" runat="server" DataFile="~/App_Data/QA.xml"
XPath="./questions/question" />
.

Finora l'unico modo in cui sono stato in grado di ottenere questo al lavoro è spostare l'attributo 'Valore' del nodo 'Risposta' nell'elemento (come questo: <value>Yes</value>) e legarsi alla proprietà 'Inntext' di proprietà diIl nodo 'Risposta', dal momento che XPathSelect sta tornando una raccolta di XMlelement.Questo non è come voglio andare a riguardo, perché se uno qualsiasi degli altri nodi figli di "risposta" (come il nodo "requisito" ha innertext, viene concatenato insieme a "valore" nei ListeMems del RadiobuttonList.

Qualche suggerimento su come legare il mio radiobutorylist senza cambiare XML?

È stato utile?

Soluzione

All'interno del tuo radiobutormont, cambia il tuo datasource al seguente:

DataSource='<%# XPathSelect("answer/@value") %>'

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top