数据库?页面变量?枚举?
我在这里征求意见。
发布于 2008-09-10 14:10:13
ASP.NET网站地图特性就是为此而构建的,并且在很多情况下都能很好地工作。如果你在一个你想要Menu to look different from your Sitemap, here are some workarounds的地方。
如果你有一个动态的站点结构,你可以使用create a custom sitemap provider。你可能会遇到一些麻烦,但一般来说,从你的网站地图填充你的菜单会给你一些很好的功能,比如安全修剪,其中的菜单选项适合登录的用户。
发布于 2008-09-10 14:09:07
这是一个有趣的问题,有很多方法可以解决这个问题。
您可以从XML加载菜单结构,这是内置的ASP.NET导航控件/“站点地图”设置的工作方式。总的来说,这可能是一个很好的选择,并且在Visual Studio中有相当好的工具可供选择。
如果这是一个需要大量更改的动态菜单,从数据库中获取这些项可能是一个好主意,但您肯定希望缓存它们,这样DB就不会在每次呈现页面时都被命中。
发布于 2008-09-11 21:35:06
我已经使用ASP.NET web应用程序的成员资格/凭证的ASP.NET Login Controls和Forms Authentication创建了一个站点。我正在使用site map进行站点导航。
我使用SiteMapDataSource填充了ASP.NET TreeView和菜单导航控件。但是,非管理员用户只能看到管理员专用页面。
中将设置为"true“
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
https://stackoverflow.com/questions/54118
复制相似问题