Radiobuttonlist внутри ретранслятора, связанный с XmldataSource

StackOverflow https://stackoverflow.com//questions/9636059

  •  10-12-2019
  •  | 
  •  

Вопрос

У меня есть следующие 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>
.

И у меня есть следующая разметка на моей странице 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" />
.

До сих пор единственный способ получить это на работу, - это перемещение атрибута «Value» в «Ответить» в элемент (вроде этот: <value>Yes</value>) и связываться с свойством «Innertext»Узел «Ответ», поскольку XPathSelect возвращает коллекцию xmlelement.Это не то, как я хочу пойти по этому поводу, потому что, если какой-либо из других дочерних узлов «Ответ» (например, «Узел« требования ») также имеет Innerntext, он имеет смысл наряду с« ценностью »в употреблении рентгенограмма RadioButtonList.,

Любые предложения о том, как связать мой RadioButtonList без изменения XML?

Это было полезно?

Решение

Внутри вашего радиооблиста, измените свой источник данных до следующего:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top