C#の初心者が質問しているので、質問が愚かであるか、答えが本当に明白である場合、それはおそらく私がどのように機能するかを完全に理解していないためですXmlDataSource
。
次のXMLファイル「super-simple-xml.xml」(スペースを節約するためにフォーマットされたもの)が与えられた場合、
<items>
<item> <one id="ms">Microsoft</one> <two>MSFT</two> </item>
<item> <one id="in">Intel</one> <two>INTC</two> </item>
<item> <one id="de">Dell</one> <two>DELL</two> </item>
</items>
このようなリピーター、
<asp:Repeater id="SuperSimple" runat="server" OnItemCommand="SuperSimple_ItemDataBound">
<HeaderTemplate>
<table border="1"><tr><th>Company</th><th>Symbol</th><th>Wrong</th></tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><asp:Label Text=<%#XPath("one") %> runat="server" /></td>
<td><asp:CheckBox Text=<%#XPath("two") %> runat="server" id="symbol" /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
<asp:Button id="buttonOne" Text="Submit!" runat="server" />
</FooterTemplate>
</asp:Repeater>
XMLをバインドするには、次のようにします。
private void Page_Load(object sender, EventArgs e)
{
XmlDataSource xmlSource = new XmlDataSource();
xmlSource.DataFile = "super-simple-xml.xml";
xmlSource.XPath = "items/item";
if (!IsPostBack) // Did this to prevent an error
{
SuperSimple.DataSource = xmlSource;
SuperSimple.DataBind();
}
}
id
各XMLエントリからクラスまたは変数にプルする方法を教えてください。
ここでの考え方は、リピーターにアイテムを表示しているということです。チェックボックスを追加したので、任意の<two>
エントリをチェックして、[送信]を押します。投稿したら、チェックしたエントリを自分で作成したクラスに保存したいと思います。リピーターには参照可能なIDがあるので、取得と入力は非常に簡単です<one>
。<two>
しかし、id
XMLの属性が呼び出されることはないので、その属性にアクセスする方法がわかりません。id
データを渡すときに参照するクラスにを入れたいです。これは可能ですか、どうすればよいですか?