谁能给我一些关于如何使用代码(C#)在文本框中显示 XPath 查询结果的指示?应用 XPath 查询后,我的数据源似乎(重新)正确绑定,但我找不到如何获取结果数据。
任何帮助将不胜感激。
John
问问题
2670 次
3 回答
1
XMLDataSource 旨在与数据绑定控件一起使用。ASP.NET 的 TextBox 不是数据绑定控件。所以要完成你想要的,你要么必须找到一个带有数据绑定的文本框控件,要么以其他方式显示结果。
例如,您可以使用Repeater 控件并为其创建自己的呈现模板。
<asp:Repeater id="Repeater1" runat="server" datasource="XMLds">
<ItemTemplate>
<input type="text" value="<%# XPath("<path to display field>")%>" />
</ItemTemplate>
</asp:Repeater>
于 2008-09-09T12:09:10.593 回答
0
如果能够给你一个体面的答案,更多的信息会很好。您是否有任何可以在此处发布的现有代码片段?
一般的想法是使用 XmlDataSource.XPath 属性作为 XmlDataSource.Data 属性的过滤器。您是否尝试在文本框中显示 Data 道具的内容?
于 2008-09-09T09:52:53.057 回答
0
根据 DropDownList 中的选择,当 SelectedIndexChanged 事件触发时,XMLDataSource 对象的 XPath 会更新:
protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
XMLds.XPath = "/controls/control[@id='AuthorityType']/item[@text='" + ddl.SelectedValue + "']/linkedValue";
XMLds.DataBind();
}
XPath 字符串很好,我可以输出并测试它是否正常工作并解析到正确的节点。我遇到的问题是获取应该存储在 XmlDataSource 中的数据;具体来说,获取数据并将其输出到 TextBox 中。我希望能够将其作为上述功能的一部分,即
protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
XMLds.XPath = "/controls/control[@id='AuthorityType']/item[@text='" + ddl.SelectedValue + "']/linkedValue";
XMLds.DataBind();
myTextBox.Text = <FieldFromXMLDataSource>;
}
感谢您的时间。
于 2008-09-09T10:12:49.030 回答