在TextBox中显示来自XMLDataSource的数据
时间:2020-03-05 18:49:54 来源:igfitidea点击:
谁能给我一些关于如何使用代码(C#)在文本框中显示XPath查询结果的指针?一旦应用了XPath查询,我的数据查询似乎就可以正确地(重新)绑定,但是我找不到如何获取结果数据的方法。
任何帮助将不胜感激。
解决方案
回答
能够为我们提供一个体面的答案的一些更多信息将是很好的。我们是否可以在此处发布任何现有的代码段?
通常的想法是使用XmlDataSource.XPath属性作为XmlDataSource.Data属性的筛选器。我们是否尝试过在文本框中显示Data属性的内容?
回答
基于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>; }
感谢时间。
回答
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>