ASPNET 进阶TreeView控件学习Word格式.docx
- 文档编号:19397969
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:17
- 大小:43.25KB
ASPNET 进阶TreeView控件学习Word格式.docx
《ASPNET 进阶TreeView控件学习Word格式.docx》由会员分享,可在线阅读,更多相关《ASPNET 进阶TreeView控件学习Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
headrunat="
server"
<
title>
TreeView<
/title>
/head>
body>
formid="
form1"
runat="
div>
TreeViewID="
treeT"
Nodes>
TreeNodeNavigateUrl="
#"
Text="
城市"
Expanded="
True"
北京市"
/asp:
上海市"
天津市"
重庆市"
湖北省"
武汉市"
黄冈市"
荆州市"
武穴市"
十堰市"
黄石市"
河北省"
石家庄市"
唐山市"
山西省"
太原市"
大同市"
/Nodes>
TreeView>
/div>
/form>
/body>
/html>
3.前台数据源绑定方式
a.xml数据
?
xmlversion="
1.0"
encoding="
utf-8"
?
AreaiAreaID="
0"
cAreaName="
ProvinceiAreaID="
1"
/>
2"
3"
4"
5"
CityiAreaID="
51"
52"
/>
53"
54"
55"
56"
/Province>
6"
61"
62"
7"
71"
72"
/Area>
b.前台页面(这里绑定了Xml的数据源)
%--TreeView控件的DataSourceID属性指定数据源控件源ID。
--%>
DataSourceID="
XmlDataSource1"
XmlDataSourceID="
DataFile="
~/Xml/Area.xml"
XmlDataSource>
c.后台代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Web;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.Security;
usingSystem.Data;
usingYc_TestS.BaseClass;
namespaceYc_TestS
{
publicpartialclassTreeViewTest:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
/**
*TreeNodeBinding类在TreeView控件中定义数据项与该数据项绑定到的节点之间的关系。
*该类的DataMember属性指定在节点显示的数据源对应XML的节点。
*ValueField属性对应TreeNode对象的Value属性。
*TreeNodeBinding类的Text属性指定向用户显示的文本,如果该属性没有指定,则默认与ValueField属性相同。
**/
this.treeT.ShowLines=false;
//显示连接子节点和父节点之间的线条
TreeNodeBindingArea=newTreeNodeBinding();
Area.DataMember="
Area"
;
//指定绑定的成员
Area.ValueField="
cAreaName"
//取值的字段
this.treeT.DataBindings.Add(Area);
TreeNodeBindingProvince=newTreeNodeBinding();
Province.DataMember="
Province"
//添加与"
省份"
绑定
Province.ValueField="
this.treeT.DataBindings.Add(Province);
TreeNodeBindingCity=newTreeNodeBinding();
City.DataMember="
City"
City.ValueField="
this.treeT.DataBindings.Add(City);
}
}
4.后台数据库数据填充方式
a.数据库数据
b.前台页面
scripttype="
text/javascript"
functionshow(msg){
alert(msg);
/script>
AddTree(0,null);
privatevoidAddTree(intPid,TreeNodePNode)
stringsqlStr="
SELECTItem_id,Item_name,Parent_IDFROMPara_item"
DataTabledt=YSqlHelper.ExecuteQuery(sqlStr,CommandType.Text);
if(dt.Rows.Count>
0)
DataViewdv=newDataView(dt);
//过滤ParentID,得到当前的所有子节点ParentID为父节点ID
dv.RowFilter="
[Parent_ID]="
+Pid;
//循环递归
foreach(DataRowViewRowindv)
//声明节点
TreeNodeNode=newTreeNode();
//绑定超级链接
Node.NavigateUrl=String.Format("
javascript:
show('
{0}'
)"
Row["
Item_Name"
].ToString());
//开始递归
if(PNode==null)
//添加根节点
Node.Text=Row["
].ToString();
treeT.Nodes.Add(Node);
Node.Expanded=true;
//节点状态展开
AddTree(Int32.Parse(Row["
Item_ID"
].ToString()),Node);
//再次递归
else
//添加当前节点的子节点
PNode.ChildNodes.Add(Node);
d.配置文件
--
有关如何配置ASP.NET应用程序的详细消息,请访问
-->
configuration>
appSettings>
addkey="
sqlStr"
value="
0dd8de75eb51766d66d42ead8ea26b0c533f6fdb009e9fd2e6e1c9867d2766ec499405047e4173a74015f57800e3afb982fd39d96dcc1590c8c943242992c84b"
/appSettings>
system.web>
compilationdebug="
/system.web>
/configuration>
e.两个助手类
usingSystem.IO;
usingSystem.Security.Cryptography;
usingSystem.Text;
namespaceYc_TestS.BaseClass
publicclassEntryCode
///<
summary>
加密<
/summary>
publicstaticstringEncodeCode(stringstr)
stringkey="
david.yc"
DESCryptoServiceProviderprovider=newDESCryptoServiceProvider();
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);
MemoryStreamstream=newMemoryStream();
CryptoStreamstream2=newCryptoStream(stream,provider.CreateEncryptor(),CryptoStreamMode.Write);
stream2.Write(bytes,0,bytes.Length);
stream2.FlushFinalBlock();
StringBuilderbuilder=newStringBuilder();
foreach(bytenuminstream.ToArray())
builder.AppendFormat("
{0:
X2}"
num);
stream.Close();
returnbuilder.ToString().Trim();
Des解密GB2312<
publicstaticstringDecodeCode(stringstr)
byte[]buffer=newbyte[str.Length/2];
for(inti=0;
i<
(str.Length/2);
i++)
intnum2=Convert.ToInt32(str.Substring(i*2,2),0x10);
buffer[i]=(byte)num2;
CryptoStreamstream2=newCryptoStream(stream,provider.CreateDecryptor(),CryptoStreamMode.Write);
stream2.Write(buffer,0,buffer.Length);
returnEncoding.GetEncoding("
).GetString(stream.ToArray()).Trim();
usingSystem.Data.SqlClient;
usingSystem.Configuration;
publicclassYSqlHelper
privatestaticstringconnectionString=EntryCode.DecodeCode(ConfigurationManager.AppSettings["
]);
//获取解密后的数据库连接字符串
执行不带参数的增删改SQL语句或存储过程<
paramname="
cmdText"
增删改SQL语句或存储过程<
/param>
ct"
命令类型<
returns>
受影响的行数<
/returns>
publicstaticintExecuteNonQuery(stringcmdText,CommandTypect)
intres=0;
using(SqlConnectionconn=newSqlConnection(connectionString))
try
conn.Open();
using(SqlCommandcmd=newSqlCommand(cmdText,conn))
cmd.CommandType=ct;
res=cmd.ExecuteNonQuery();
catch
finally
if(conn.State==ConnectionState.Open)
conn.Close();
returnres;
执行带参数的增删改SQL语句或存储过程<
publicstaticintExecuteNonQuery(stringcmdText,SqlParameter[]paras,CommandTypect)
using(SqlCommandcmd=newSqlComm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASPNET 进阶TreeView控件学习 进阶 TreeView 控件 学习