关于asp.net xml问题

zhang1struts1yun 2012-10-15 11:20:38

<?xml version="1.0" encoding="utf-8" ?>
<root>
<car Brand="Ford" Name="Fox" GearBox="MT" Displacement="1.6" ></car>
<car Brand="Das Auto" Name="Bora" GearBox="MT" Displacement="1.6" ></car>
<car Brand="Audi" Name="A4L" GearBox="IVS" Displacement="2.0T" ></car>
<car Brand="Nissan" Name="Sunny" GearBox="IVS" Displacement="1.5" ></car>
<car Brand="Buick" Name="Excelle XT" GearBox="AT" Displacement="1.6" ></car>
</root>

1. 使用c#代码读取此xml
2. 使用c#将xml存到一个DataTable中,形成DataTable1(XML属性值作为DataTable的字段)
3. 在XML中或在DataTable中取出Displacement="1.6"的car节点,形成DataTable2

新建4个div,第一个DIV中添加一个下拉框,下拉框内容来自DataTable2,显示字段为Name,
当下拉框的值发生改变是,使用ajax回调,找到相应的其他属性显示在DIV4中,如:
下拉框的内容为Fox时,显示 Brand="Ford" GrarBox="MT" Displacement="1.6" 到DIV4中,(
可以使用JQuery,


下面这个是 效果示意图
http://img.my.csdn.net/uploads/201210/15/1350270125_6017.png
...全文
94 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dalmeeme 2012-10-15
  • 打赏
  • 举报
回复
Default.aspx:
<!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 id="Head1" runat="server">
<title></title>
<style>
.divStyle {
float: left;
width: 200px;
height: 200px;
border: 1px solid black;
}
#div3 {
clear: both;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="div1" class="divStyle">
<asp:DropDownList ID="DropDownList1" runat="server" DataTextField="Name" DataValueField="Name" AutoPostBack="True" onselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
</div>
<div id="div2" class="divStyle"></div>
<div id="div3" class="divStyle"></div>
<div id="div4" class="divStyle" runat="server"></div>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>

Default.aspx.cn:
	protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("~/test.xml"));
DataTable dt1 = ds.Tables[0];
dt1.DefaultView.RowFilter = "Displacement='1.6'";
DataTable dt2 = dt1.DefaultView.ToTable();
DropDownList1.DataSource = dt2;
DropDownList1.DataBind();
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("~/test.xml"));
XmlNode car = xmlDoc.SelectSingleNode(@"/root/car[@Name='" + DropDownList1.SelectedValue + "']");
div4.InnerText = string.Format(@"Brand=""{0}"" GearBox=""{1}"" Displacement=""{2}""", car.Attributes["Brand"].Value, car.Attributes["GearBox"].Value, car.Attributes["Displacement"].Value);
}

test.xml文件放在网站根目录下。
zhang1struts1yun 2012-10-15
  • 打赏
  • 举报
回复
不是要你给思路啊, 我要你做出来啊, 我自己做了一个,上面的效果图 就是我用代码实现的,要15分钟内做出来啊
wangyizhi58 2012-10-15
  • 打赏
  • 举报
回复
太麻烦了啊
小米粥 2012-10-15
  • 打赏
  • 举报
回复
StringReader sr = new StringReader(xml);
DataSet ds = new DataSet();
ds.ReadXml(sr);

通过代码 现在的DS里面 包含了你要的所有数据,下面的要求就是你自己调用这个DS里面的数据 就OK
下拉框的要求可以在后台下一个change时间 也可以用JS(JS网上应该有的) ,

61,655

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧