首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在母版页上填充menu控件的最佳方法是什么?

在母版页上填充menu控件的最佳方法是什么?
EN

Stack Overflow用户
提问于 2008-09-10 14:05:57
回答 8查看 3.3K关注 0票数 3

数据库?页面变量?枚举?

我在这里征求意见。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-09-10 14:10:13

ASP.NET网站地图特性就是为此而构建的,并且在很多情况下都能很好地工作。如果你在一个你想要Menu to look different from your Sitemap, here are some workarounds的地方。

如果你有一个动态的站点结构,你可以使用create a custom sitemap provider。你可能会遇到一些麻烦,但一般来说,从你的网站地图填充你的菜单会给你一些很好的功能,比如安全修剪,其中的菜单选项适合登录的用户。

票数 4
EN

Stack Overflow用户

发布于 2008-09-10 14:09:07

这是一个有趣的问题,有很多方法可以解决这个问题。

您可以从XML加载菜单结构,这是内置的ASP.NET导航控件/“站点地图”设置的工作方式。总的来说,这可能是一个很好的选择,并且在Visual Studio中有相当好的工具可供选择。

如果这是一个需要大量更改的动态菜单,从数据库中获取这些项可能是一个好主意,但您肯定希望缓存它们,这样DB就不会在每次呈现页面时都被命中。

票数 2
EN

Stack Overflow用户

发布于 2008-09-11 21:35:06

我已经使用ASP.NET web应用程序的成员资格/凭证的ASP.NET Login ControlsForms Authentication创建了一个站点。我正在使用site map进行站点导航。

我使用SiteMapDataSource填充了ASP.NET TreeView和菜单导航控件。但是,非管理员用户只能看到管理员专用页面。

  1. 我创建了一个web.sitemap站点地图文件。我在我的.master页面…上添加了导航控件

中将设置为"true“

  • 我调整了master.vb代码隐藏文件…中的树

Protected Sub TreeView1_DataBound( ByVal发送者作为对象,ByVal e作为EventArgs )处理TreeView1.DataBound‘折叠不必要的菜单项... If TreeView1.SelectedNode IsNot Nothing Then Dim n As TreeNode = TreeView1.SelectedNode TreeView1.ColrapseAll() n.Expand()执行直到n.Parent为Nothing n= n.Parent n.Expand()循环Else TreeView1.ExpanAll() End If End Sub

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档