gpt4 book ai didi

c# - 从 XmlDataSource 填充 DropDownList

转载 作者:行者123 更新时间:2023-11-30 19:22:44 26 4
gpt4 key购买 nike

我想使用一个简单的 xml 文件填充我的 DropDownList:

<?xml version="1.0" encoding="utf-8" ?>
<Databases>
<Database>foo</Database>
<Database>bar</Database>
<Database>baz</Database>
</Databases>

我的 XPath 是

/Databases/Database

我的下拉列表呈现为:

<select name="databaseDropDownList" id="databaseDropDownList"> 
<option selected="selected" value="System.Web.UI.WebControls.XmlDataSourceNodeDescriptor">System.Web.UI.WebControls.XmlDataSourceNodeDescriptor</option>
<option value="System.Web.UI.WebControls.XmlDataSourceNodeDescriptor">System.Web.UI.WebControls.XmlDataSourceNodeDescriptor</option>
<option value="System.Web.UI.WebControls.XmlDataSourceNodeDescriptor">System.Web.UI.WebControls.XmlDataSourceNodeDescriptor</option>
</select>

我应该如何提取文本?

谢谢

最佳答案

我记不清了,但我认为 XmlDataSource 中有一个错误阻止您绑定(bind)到 xml 节点的值。它仅适用于属性。如果我对此有误,请纠正我。您需要对 XML 文件稍作修改:

<%@ Page Language="C#" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string xml =
@"<?xml version=""1.0"" encoding=""utf-8"" ?>
<Databases>
<Database name=""foo"" />
<Database name=""bar"" />
<Database name=""baz"" />
</Databases>";
databasesSource.Data = xml;
databasesSource.DataBind();
}
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="databases" runat="server" DataSourceID="databasesSource" DataValueField="name" DataTextField="name" />
<asp:XmlDataSource ID="databasesSource" runat="server" XPath="/Databases/Database" />
</div>
</form>
</body>
</html>

请注意,我添加了 name 属性,而不是直接使用节点的值。

如果您不能修改原始 XML 文件的结构,您可以使用 TransformFile 对其应用 XSLT 转换。 post 中描述的属性.

关于c# - 从 XmlDataSource 填充 DropDownList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/631365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com