.NET基础之三个导航控件
2009-05-22 20:39
239 查看
TreeView控件是导航栏的一种,所以该控件能绑定的数据格式为xml文件和站点地图。
主要属性:
EnableClientScript:是否应尝试使用客户端脚本。
ShowCheckBoxes:旁边应显示复选框的节点类型。
ImageSet:获取或设置用于 TreeView 控件的图像组。
ExpandDepth:获取或设置第一次显示 TreeView 控件时所展开的层次数。
编辑TreeNode数据绑定的时候,手动添加的绑定节点有一个SelectAction 属性,具体值见下表。
主要事件:
TreeNodeCheckChanged:选定节点更改后激发。
TreeNodeCollapsed:在TreeNode折叠后激发。
TreeNodeExpanded:在TreeNode展开后激发。
动态生成节点 :
if (TreeView1.SelectedNode != null)
{
TreeNode tn = new TreeNode("node");
this.TreeView1.SelectedNode.ChildNodes.Add(tn);
}
SiteMapPath控件和TreeView差不多,都是导航控件。
动态修改内存中的站点地图
private void Page_Load(object sender, EventArgs e)
{
//首先我们在这里注册一个事件,也就是说在访问CurrentNode属性的时候触发这个事件
SiteMap.SiteMapResolve += new SiteMapResolveEventHandler(SiteMap_SiteMapResolve);
}
SiteMapNode SiteMap_SiteMapResolve(object sender, SiteMapResolveEventArgs e)
{
//自定义处理方法获取并创建当前节点的副本,并同时复制他的上级节点
SiteMapNode CurrentNode = SiteMap.CurrentNode.Clone(true);
SiteMapNode TempNode = CurrentNode;
int id = nid();
int page = npage();
//从下面方法中得到变量
if (id > 0)
{
TempNode.Url = TempNode.Url + "?id=" + id.ToString();
}
if (id > 0 && page >= 0)
{
TempNode.Url = TempNode.Url + "&page=" + page.ToString();
}
else if (page >= 0)
{
TempNode.Url = TempNode.Url + "?page=" + page.ToString();
}
return TempNode;
}
修改当前SiteMap的最后一级显示文字
protected void SiteMapPath1_ItemCreated(object sender, SiteMapNodeItemEventArgs e)
{
//该用法要求当前节点在站点地图中已经存在,如果无该节点,则会报错
if (e.Item.ItemType == SiteMapNodeItemType.Current)
{
Literal l = e.Item.Controls[0] as Literal;
if (l != null)
//temp_lb为string,为想显示的文本。
l.Text = temp_lb;
}
}
siteMap控件,默认的主站点地图不得改名,可以存在子站点地图。
从父站点地图链接到子站点地图
在父地图中添加一个节点<siteMapNode siteMapFile="~/mysm.sitemap"/>,子地图中的节点都为该节点的子节点。
主要属性:
EnableClientScript:是否应尝试使用客户端脚本。
ShowCheckBoxes:旁边应显示复选框的节点类型。
ImageSet:获取或设置用于 TreeView 控件的图像组。
ExpandDepth:获取或设置第一次显示 TreeView 控件时所展开的层次数。
编辑TreeNode数据绑定的时候,手动添加的绑定节点有一个SelectAction 属性,具体值见下表。
选择操作 | 说明 |
TreeNodeSelectAction.Expand | 切换节点的展开和折叠状态。相应地引发 TreeNodeExpanded 事件或 TreeNodeCollapsed 事件。 |
TreeNodeSelectAction.None | 在选定节点时不引发任何事件。 |
TreeNodeSelectAction.Select | 在选定节点时引发 SelectedNodeChanged 事件。 |
TreeNodeSelectAction.SelectExpand | 选择节点时引发 SelectedNodeChanged 和 TreeNodeExpanded 事件。节点只会展开,不会折叠。 |
TreeNodeCheckChanged:选定节点更改后激发。
TreeNodeCollapsed:在TreeNode折叠后激发。
TreeNodeExpanded:在TreeNode展开后激发。
动态生成节点 :
if (TreeView1.SelectedNode != null)
{
TreeNode tn = new TreeNode("node");
this.TreeView1.SelectedNode.ChildNodes.Add(tn);
}
SiteMapPath控件和TreeView差不多,都是导航控件。
动态修改内存中的站点地图
private void Page_Load(object sender, EventArgs e)
{
//首先我们在这里注册一个事件,也就是说在访问CurrentNode属性的时候触发这个事件
SiteMap.SiteMapResolve += new SiteMapResolveEventHandler(SiteMap_SiteMapResolve);
}
SiteMapNode SiteMap_SiteMapResolve(object sender, SiteMapResolveEventArgs e)
{
//自定义处理方法获取并创建当前节点的副本,并同时复制他的上级节点
SiteMapNode CurrentNode = SiteMap.CurrentNode.Clone(true);
SiteMapNode TempNode = CurrentNode;
int id = nid();
int page = npage();
//从下面方法中得到变量
if (id > 0)
{
TempNode.Url = TempNode.Url + "?id=" + id.ToString();
}
if (id > 0 && page >= 0)
{
TempNode.Url = TempNode.Url + "&page=" + page.ToString();
}
else if (page >= 0)
{
TempNode.Url = TempNode.Url + "?page=" + page.ToString();
}
return TempNode;
}
修改当前SiteMap的最后一级显示文字
protected void SiteMapPath1_ItemCreated(object sender, SiteMapNodeItemEventArgs e)
{
//该用法要求当前节点在站点地图中已经存在,如果无该节点,则会报错
if (e.Item.ItemType == SiteMapNodeItemType.Current)
{
Literal l = e.Item.Controls[0] as Literal;
if (l != null)
//temp_lb为string,为想显示的文本。
l.Text = temp_lb;
}
}
siteMap控件,默认的主站点地图不得改名,可以存在子站点地图。
从父站点地图链接到子站点地图
在父地图中添加一个节点<siteMapNode siteMapFile="~/mysm.sitemap"/>,子地图中的节点都为该节点的子节点。
相关文章推荐
- SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题
- iOS基础控件-UITabBarController - 2 之UITabBarItem 详解,结合视图控制器和导航控制器的用法
- .net 控件calendar 基础用法
- .NET基础之验证控件
- 一起谈.NET技术,asp.net控件开发基础(21)
- 一起谈.NET技术,asp.net控件开发基础(7)
- SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题
- .NET基础之验证控件
- .NET基础之FileUpload控件进阶(一)
- .NET基础之AdRotator广告控件
- .net验证控件,导航控件
- 一起谈.NET技术,asp.net控件开发基础(2)
- 一起谈.NET技术,asp.net控件开发基础(16)
- 一起谈.NET技术,asp.net控件开发基础(17)
- 一起谈.NET技术,asp.net控件开发基础(20)
- 一起谈.NET技术,asp.net控件开发基础(6)
- SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题
- 一起谈.NET技术,asp.net控件开发基础(22)
- 一起谈.NET技术,asp.net控件开发基础(19)
- 一起谈.NET技术,asp.net控件开发基础(5)