使用XmlDocument将dropdownlist中显示的书名的其它信息读入到相应的文本框中。

----------------前台:----------------------

<body> <form id="form1" runat="server"> <div> &nbsp;书名: <asp:DropDownList ID="DropDownList1" runat="server"> </asp:DropDownList> &nbsp; <asp:Button ID="btnShow" runat="server" Text="显示详细信息" Height="23px" Xonclick="btnShow_Click" Width="90px" /> <br /> <br /> <table style="width:50%;"> <tr> <td> <table style="width:100%;"> <tr> <td> 作者:</td> <td> <asp:TextBox ID="txtAuthor" runat="server"></asp:TextBox> </td> </tr> <tr> <td> 出版社:</td> <td> <asp:TextBox ID="txtPublisher" runat="server"></asp:TextBox> </td> </tr> <tr> <td> 出版年月:</td> <td> <asp:TextBox ID="txtDate" runat="server"></asp:TextBox> </td> </tr> <tr> <td> Isbn号:</td> <td> <asp:TextBox ID="txtIsbn" runat="server"></asp:TextBox> </td> </tr> <tr> <td> 价格:</td> <td> <asp:TextBox ID="txtPrice" runat="server"></asp:TextBox> </td> </tr> <tr> <td> <asp:Button ID="Button1" runat="server" Text="Button" /> </td> <td> <asp:Button ID="Button2" runat="server" Text="Button" /> </td> </tr> </table> </td> </tr> </table> </div> </form> </body>

-------------------后台:----------------------------- XmlDocument xdoc; protected void Page_Load(object sender, EventArgs e) { #region 使用XmlReader读取books.xml中的书名到DropDownList中 if (!IsPostBack) { XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreComments = true; settings.IgnoreComments = true;

using (XmlReader reader = XmlReader.Create(Server.MapPath("books.xml"), settings)) { while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { if (reader.LocalName == "name") { this.DropDownList1.Items.Add(reader.ReadString()); } } } } Session["doc"] = xdoc; } else { xdoc = Session["doc"] as XmlDocument; } #endregion }

protected void btnShow_Click(object sender, EventArgs e) { #region 方法1 XmlNode node = xdoc.DocumentElement.SelectSingleNode("book[name='" + this.DropDownList1.Text + "']"); foreach (XmlNode item in node.ChildNodes) { if (item.LocalName == "author") { this.txtAuthor.Text = item.InnerText; } else if (item.LocalName == "publisher") { this.txtPublisher.Text = item.InnerText; } else if (item.LocalName == "date") { this.txtDate.Text = item.InnerText; } else if (item.LocalName == "isbn") { this.txtIsbn.Text = item.InnerText; } else if (item.LocalName == "price") { this.txtPrice.Text = item.InnerText; }

} #endregion

#region 方法2 XmlNode node1 = xdoc.DocumentElement.SelectSingleNode("book[name='" + this.DropDownList1.Text + "']"); txtAuthor.Text=node1.SelectSingleNode("author").InnerText; txtPublisher.Text=node1.SelectSingleNode("publisher").InnerText; txtDate.Text=node1.SelectSingleNode("date").InnerText; txtIsbn.Text=node1.SelectSingleNode("isbn").InnerText; txtPrice.Text=node1.SelectSingleNode("price").InnerText; #endregion }

posted @ 2012-12-20 19:41  刘祎  阅读(130)  评论(0编辑  收藏  举报