-- 作者:xyin
-- 发布时间:6/17/2005 9:10:00 AM
-- 来看看asp.net2.0 下的treeview树
[B][B]我不会asp和asp.net这是自个瞎琢磨的,希望能给大家带来一点帮助,请大家斧正 环境:asp.net2.0 windows2000 Visual Web Developer 2005 Express Edition Beta下制作 用的都是最简单的办法,所以效率不是很好,做了一半,修改还没做。 一个是闪的问题没解决,还有重复提交的问题,太深,自己没能懂,希望大家给提提  有个关于正则是的问题:验证只能输入中文数字和字母,开头还不能是数字的正则式那位高手给发一个,谢谢了 treemenu.aspx %@ Page Language="C#" Debug="true" %> <% @ Import Namespace="System.IO" %> <% @ Import Namespace="System.Text" %> <% @ Import Namespace="System.Xml" %> <% @ Import Namespace="System.Data" %> <% @ Import Namespace="System.Xml.XPath" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <script runat="server"> void Page_Load(object sender, EventArgs e) { } void TreeView1_SelectedNodeChanged(object sender, EventArgs e) { if (TreeView1.SelectedNode.ChildNodes.Count != 0) { Button1.Enabled = true; Button2.Enabled = true; Button3.Enabled = true; } if (TreeView1.SelectedNode.ChildNodes.Count == 0) { string docpath = TreeView1.SelectedNode.ValuePath.ToString(); string filname = "books.xml"; docpath = Regex.Replace(docpath, "/", "//"); XmlDocument doc1 = new XmlDocument(); doc1.Load(Server.MapPath("./data/" + filname)); XmlElement selectEle = (XmlElement)doc1.SelectSingleNode(docpath); string leftpop = selectEle.InnerText.ToString(); IFRAME1.Attributes.Add("src", "./data/" + leftpop); Button2.Enabled = true; Button3.Enabled = true; Button1.Enabled = false; Label1.Text = leftpop; if (leftpop == "") { Button1.Enabled = true; } } TextBox1.Text = TreeView1.SelectedNode.Text; TextBox2.Text = TreeView1.SelectedNode.Text; } void Button3_Click(object sender, EventArgs e) { string filname = "books.xml"; XmlDocument doc1 = new XmlDocument(); doc1.Load(Server.MapPath("./data/" + filname)); string docpath = TreeView1.SelectedNode.ValuePath.ToString(); docpath = Regex.Replace(docpath, "/", "//"); XmlNode chn = (XmlNode)doc1.SelectSingleNode(docpath); string leftpop = chn.Name.ToString(); XmlNode parentN = chn.ParentNode; if (leftpop != "福奥通公司") { parentN.RemoveChild(chn); doc1.Save(Server.MapPath("./data/" + filname)); TreeView1.DataSourceID = "XmlDataSource1"; } Button2.Enabled = false; Button1.Enabled = false; Button3.Enabled = false; } void Button1_Click(object sender, EventArgs e) { string filname = "books.xml"; XmlDocument doc1 = new XmlDocument(); doc1.Load(Server.MapPath("./data/" + filname)); string docpath = TreeView1.SelectedNode.ValuePath.ToString(); docpath = Regex.Replace(docpath, "/", "//"); XmlElement selectEle = (XmlElement)doc1.SelectSingleNode(docpath); string xuzelei = TreeView1.SelectedNode.Text; if (xuzelei!= TextBox1.Text) { if (TextBox1.Text != "") { //XmlElement fenleiEle = doc1.CreateElement(TextBox1.Text); //selectEle.AppendChild(fenleiEle); //doc1.Save(Server.MapPath("./data/" + filname)); //TreeView1.DataSourceID = "XmlDataSource1"; } } Button2.Enabled = false; Button1.Enabled = false; Button3.Enabled = false; } void Button2_Click(object sender, EventArgs e) { Button1.Enabled = false; } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:TreeView ID="TreeView1" Runat="server" DataSourceID="XmlDataSource1" ShowLines="True" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged"> <SelectedNodeStyle BackColor="Blue"></SelectedNodeStyle> </asp:TreeView> <asp:XmlDataSource ID="XmlDataSource1" Runat="server" DataFile="~/data/books.xml"> </asp:XmlDataSource> <asp:Label ID="Label1" Runat="server" Text="Label"></asp:Label> </div> <iframe id="IFRAME1" style="BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; Z-INDEX: 103; LEFT: 256px; BORDER-LEFT: 0px solid; WIDTH: 392px; BORDER-BOTTOM: 0px solid; POSITION: absolute; TOP: 0px; HEIGHT: 504px" runat="server"></iframe> <asp:Button ID="Button3" Runat="server" Text="删除分类" OnClick="Button3_Click" Enabled="False" /> <br /> <br /> <asp:Button ID="Button1" Runat="server" Text="添加分类" OnClick="Button1_Click" Enabled="False" /> <asp:TextBox ID="TextBox1" Runat="server">在此添加!!</asp:TextBox> <br /> <asp:RegularExpressionValidator id="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1" ValidationExpression="^[a-zA-Z][a-zA-Z0-9_][\u4e00-\u9fa5]" Display="Static" Font-Size="10pt"> Zip code must be 5 numeric digits↑↑↑↑ </asp:RegularExpressionValidator> <br /> <asp:Button ID="Button2" Runat="server" Text="修改分类" OnClick="Button2_Click" Enabled="False" /> <asp:TextBox ID="TextBox2" Runat="server">在此更改!!</asp:TextBox> <br /> </form> </body> </html> books.xml <?xml version="1.0" encoding="utf-8"?> <福奥通公司> <产品> <显示器> <比克> <B1532> <B1588 no="1">ceshi</B1588> <B15 no="2">ceshi</B15> </B1532> <B1598>cp1.xml</B1598> </比克> <AOC> </AOC> </显示器> <刻录盘> <明基> <B48X>../boxlist1.aspx</B48X> <B52X>cp3.xml</B52X> <DVD8X>8x</DVD8X> <CDRW>rw</CDRW> </明基> </刻录盘> <键盘> <明基> <color> <特色 /> </color> <color /> </明基> </键盘> <光驱> </光驱> </产品> </福奥通公司>[/B][/B]
|