1、ASPNET 进阶TreeView控件学习【ASP.NET 进阶】TreeView控件学习这几天上班没事做,也不好打酱油,学点没接触过的新东西吧,基本了解了下TreeView控件。TreeView 控件用于在树结构中显示分层数据,例如目录或文件目录等。下面看代码吧:1.效果图2.静态数据方式(即在页面上使用标签) TreeView 3.前台数据源绑定方式a.xml数据 b.前台页面(这里绑定了Xml的数据源) TreeView c.后台代码using System;using System.Collections.Generic;using System.Web;using System.We
2、b.UI;using System.Web.UI.WebControls;using System.Web.Security;using System.Data;using Yc_TestS.BaseClass;namespace Yc_TestS public partial class TreeViewTest : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) /* * TreeNodeBinding类在TreeView控件中定义数据项与该数据项绑定到的节点之间的关系。 * 该类的DataMe
3、mber属性指定在节点显示的数据源对应XML的节点。 * ValueField属性对应TreeNode对象的Value属性。 * TreeNodeBinding类的Text属性指定向用户显示的文本, 如果该属性没有指定,则默认与ValueField属性相同。 * */ this.treeT.ShowLines = false;/显示连接子节点和父节点之间的线条 TreeNodeBinding Area = new TreeNodeBinding(); Area.DataMember = Area;/指定绑定的成员 Area.ValueField = cAreaName;/取值的字段 this.
4、treeT.DataBindings.Add(Area); TreeNodeBinding Province = new TreeNodeBinding(); Province.DataMember = Province;/添加与省份绑定 Province.ValueField = cAreaName; this.treeT.DataBindings.Add(Province); TreeNodeBinding City = new TreeNodeBinding(); City.DataMember = City;/添加与城市绑定 City.ValueField = cAreaName; t
5、his.treeT.DataBindings.Add(City); 4.后台数据库数据填充方式a.数据库数据b.前台页面 TreeView function show(msg) alert(msg); c.后台代码using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.Security;using System.Data;using Yc_TestS.BaseClass;namespace
6、 Yc_TestS public partial class TreeViewTest : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) AddTree(0, null); private void AddTree(int Pid, TreeNode PNode) string sqlStr = SELECT Item_id,Item_name,Parent_ID FROM Para_item; DataTable dt = YSqlHelper.ExecuteQuery(sqlStr, Comm
7、andType.Text); if (dt.Rows.Count 0) DataView dv = new DataView(dt); /过滤ParentID,得到当前的所有子节点 ParentID为父节点ID dv.RowFilter = Parent_ID = + Pid; /循环递归 foreach (DataRowView Row in dv) /声明节点 TreeNode Node = new TreeNode(); /绑定超级链接 Node.NavigateUrl = String.Format(javascript:show(0), RowItem_Name.ToString()
8、; /开始递归 if (PNode = null) /添加根节点 Node.Text = RowItem_Name.ToString(); treeT.Nodes.Add(Node); Node.Expanded = true; /节点状态展开 AddTree(Int32.Parse(RowItem_ID.ToString(), Node); /再次递归 else /添加当前节点的子节点 Node.Text = RowItem_Name.ToString(); PNode.ChildNodes.Add(Node); Node.Expanded = true; /节点状态展开 AddTree(I
9、nt32.Parse(RowItem_ID.ToString(), Node); /再次递归 d.配置文件 e.两个助手类using System;using System.Collections.Generic;using System.Web;using System.IO;using System.Security.Cryptography;using System.Text;namespace Yc_TestS.BaseClass public class EntryCode / 加密 public static string EncodeCode(string str) string
10、 key = david.yc; DESCryptoServiceProvider provider = new DESCryptoServiceProvider(); provider.Key = Encoding.ASCII.GetBytes(key.Substring(0, 8); provider.IV = Encoding.ASCII.GetBytes(key.Substring(0, 8); byte bytes = Encoding.GetEncoding(GB2312).GetBytes(str); MemoryStream stream = new MemoryStream(
11、); CryptoStream stream2 = new CryptoStream(stream, provider.CreateEncryptor(), CryptoStreamMode.Write); stream2.Write(bytes, 0, bytes.Length); stream2.FlushFinalBlock(); StringBuilder builder = new StringBuilder(); foreach (byte num in stream.ToArray() builder.AppendFormat(0:X2, num); stream.Close()
12、; return builder.ToString().Trim(); / Des 解密 GB2312 public static string DecodeCode(string str) string key = david.yc; DESCryptoServiceProvider provider = new DESCryptoServiceProvider(); provider.Key = Encoding.ASCII.GetBytes(key.Substring(0, 8); provider.IV = Encoding.ASCII.GetBytes(key.Substring(0
13、, 8); byte buffer = new bytestr.Length / 2; for (int i = 0; i (str.Length / 2); i+) int num2 = Convert.ToInt32(str.Substring(i * 2, 2), 0x10); bufferi = (byte)num2; MemoryStream stream = new MemoryStream(); CryptoStream stream2 = new CryptoStream(stream, provider.CreateDecryptor(), CryptoStreamMode.
14、Write); stream2.Write(buffer, 0, buffer.Length); stream2.FlushFinalBlock(); stream.Close(); return Encoding.GetEncoding(GB2312).GetString(stream.ToArray().Trim(); using System;using System.Collections.Generic;using System.Web;using System.Data;using System.Data.SqlClient;using System.Configuration;n
15、amespace Yc_TestS.BaseClass public class YSqlHelper private static string connectionString = EntryCode.DecodeCode(ConfigurationManager.AppSettingssqlStr);/获取解密后的数据库连接字符串 / 执行不带参数的增删改SQL语句或存储过程 / 增删改SQL语句或存储过程 / 命令类型 / 受影响的行数 public static int ExecuteNonQuery(string cmdText, CommandType ct) int res =
16、 0; using (SqlConnection conn = new SqlConnection(connectionString) try conn.Open(); using (SqlCommand cmd = new SqlCommand(cmdText, conn) cmd.CommandType = ct; res = cmd.ExecuteNonQuery(); catch finally if (conn.State = ConnectionState.Open) conn.Close(); return res; / 执行带参数的增删改SQL语句或存储过程 / 增删改SQL语句或存储过程 / 命令类型 / 受影响的行数 public static int ExecuteNonQuery(string cmdText, SqlParameter paras, CommandType ct) int res = 0; using (SqlConnection conn = new SqlConnection(connectionString) try conn.Open(); using (SqlCommand cmd = new SqlComm
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1