您的位置:首页 > 编程语言 > ASP

ASP.NET 2.0构建动态导航的Web应用程序(TreeView和Menu ) (海东的技术资料)

2016-01-24 15:26 711 查看
TreeView 控件关键属性


CheckedNodes 声明被选择的单个或者多个节点


ExpandDepth 声明TreeView控件展开的深度


Nodes TreeNodeCollection 类型的节点集合


SelectedNode 当前被选择的节点


ShowCheckBoxes 声明是否显示复选框


ShowExpandCollapse 声明展示/折叠状态


ShowLines 声明节点间是否以线连接


LevelStyles 指定每个层次的节点的样式


NodeStyle 指定节点的默认样式


RootNodeStyle 指定根节点的样式


LeafNodeStyle 指定子节点的样式


SelectedNodeStyle 指定选定节点的样式


HoverNodeStyle 指定当鼠标移在节点上方时的样式


ImageUrl properties 指定表示展开/折叠的图片的URL路径

TreeNode关键属性


Checked 标明节点上的复选框的选择状态


ImageUrl 标明节点上所用图片的URL路径


NavigateUrl 当单击节点时所要导航到的URL路径


SelectAction 无导航节点被单击时所要执行的动作


Selected 标明当前节点是否被选择的节点


ShowCheckBox 标明当前节点是否显示复选框


Text 节点上的文字

TreeView 事件


CheckChanged 当复选框被选择或者清除选择时的所触发的事件


SelectedNodeChanged 当选择的节点发生改变时所触发的事件


TreeNodeCollapsed 当分支被折叠时所触发的事件


TreeNodeExpanded 当分支被展开时所触发的事件


TreeNodeDataBound 当节点被绑定到数据源时所触发的事件


TreeNodePopulate* Fired when a PopulateOnDemand node needs content


* Only fired on server if EnableClientScript="false"

使用 SelectedNodeChanged事件


<asp:TreeView ID="Tree" OnSelectedNodeChanged="OnUpdate" RunAt="server">


<Nodes>






</Nodes>


</asp:TreeView>


.


.


.




<script language="C#" runat="server">



void OnUpdate (Object sender, EventArgs e)






{


// Get the text of the selected node


string text = Tree.SelectedNode.Text;






}


</script>

按需装载节点


<asp:TreeView OnTreeNodePopulate="OnPopulate" EnableClientScript="false"


RunAt="server">


<Nodes>


<asp:TreeNode Text="Populate this node on demand"


PopulateOnDemand="true" RunAt="server" />


</Nodes>


</asp:TreeView>


.


.


.




<script language="C#" runat="server">



void OnPopulate (Object sender, TreeNodeEventArgs e)






{


// Called first time the populate-on-demand node is expanded


TreeNode node = new TreeNode ("This node added dynamically");


e.Node.ChildNodes.Add (node);


}


</script>

Menu 控件关键属性


Items MenuItemCollection 类型的菜单项的集合


ItemWrap Specifies whether menu item should wrap


Orientation 标明菜单是纵向排列还是横向排列


SelectedItem 标明当前选择的菜单项


StaticStyle properties 标明静态菜单的样式


DynamicStyle properties 标明动态菜单的样式

MenuItem 控件关键属性


ImageUrl 菜单项上所显示图片的URL路径


NavigateUrl 当菜单项单击时所要导航的目标路径


Selected 标明当前菜单项是否已经被选中


Text 菜单项上的文字 (显示给最终用户)


ToolTip 当光标暂停或者移过菜单项时所显示的提示文本


Value 菜单项的实际值



Menu事件


MenuItemClick 当菜单项被单击时所触发的事件


MenuItemDataBound 当菜单项被绑定到数据源时所触发的事件



使用 MenuItemClick事件


<asp:Menu

OnMenuItemClick="OnClick" RunAt="server">


<Items>






</Items>


</asp:Menu>


.


.


.




<script language="C#" runat="server">



void OnClick (Object sender, MenuEventArgs e)






{


// Get the text of the selected menu item


string text = e.Item.Text;






}


</script>

TreeView控件和 Site Maps 关系


<asp:SiteMapDataSource ID="SiteMap" RunAt="server" />


<asp:TreeView DataSourceID="SiteMap" RunAt="server" />

Menus控件和 Site Maps 关系


<asp:SiteMapDataSource ID="SiteMap" RunAt="server" />


<asp:Menu DataSourceID="SiteMap" RunAt="server" />

在配置文件中修改文件名


<configuration>


<system.web>


<siteMap>


<providers>


<remove name="AspNetXmlSiteMapProvider" />


<add name="AspNetXmlSiteMapProvider"


type="System.Web.XmlSiteMapProvider, System.Web,

"


siteMapFile="Acme.sitemap" />


</providers>


</siteMap>


</system.web>


</configuration>
<siteMapNode> 属性


description 节点的描述信息


roles 指定当前项对哪些角色是可见的*


title 当前项的标题


url 当前项导航的目标路径
Security Trimming


<siteMap>


<siteMapNode title="Home" description="" url="default.aspx">


<siteMapNode title="Announcements" url="Announcements.aspx"


description="Information for all employees" /> 任何人均可见


<siteMapNode title="Salaries" url="Salaries.aspx"


description="Salary data" roles="Managers,CEOs" /> 只有Manager


和CEO权限的可见


<siteMapNode>


</siteMap>

使 Security Trimming生效


<configuration>


<system.web>


<siteMap>


<providers>


<remove name="AspNetXmlSiteMapProvider" />


<add name="AspNetXmlSiteMapProvider"


type="System.Web.XmlSiteMapProvider, System.Web,

"


securityTrimmingEnabled="true"


siteMapFile="web.sitemap" />


</providers>


</siteMap>


</system.web>


</configuration>
SiteMapDataSource属性


Provider 用来获得站点导航数据的Provider


SiteMapProvider 用来获得站点导航数据的Provider的名称


ShowStartingNode 指定显示为根节点的项


StartFromCurrentNode 指定开始节点是否是根节点(false)或者是当前节点(true)默认 = false


StartingNodeOffset 使用层次来指定开始节点 (default = 0)


StartingNodeUrl 使用URL来指定开始节点

隐藏Site Map根节点


<asp:SiteMapDataSource ID="SiteMap" ShowStartingNode="false"


RunAt="server" />


<asp:TreeView DataSourceID="SiteMap" RunAt="server" />

SiteMapPath控件关键属性


CurrentNodeStyle 当前节点的样式


CurrentNodeTemplate 当前节点的HTML模板


NodeStyle 非当前节点的样式


NodeStyleTemplate 非当前节点的HTML模板


PathSeparator 分隔符所使用的文字 (默认 = ">")


PathSeparatorStyle 分隔符的样式


PathSeparatorTemplate 分隔符所使用的HTML模板


RootNode 属性用来鉴别根节点


CurrentNode 属性用来鉴别当前节点

使用 Site Map API


// Write the title of the current node to a Label control


Label1.Text = SiteMap.CurrentNode.Title;




// Write the path to the current node to a Label control


SiteMapNode node = SiteMap.CurrentNode;


StringBuilder builder = new StringBuilder (node.Title);






while (node.ParentNode != null)

{


node = node.ParentNode;


builder.Insert (0, " > ");


builder.Insert (0, node.Title);


}




Label1.Text = builder.ToString ();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: