C# 导航菜单没有';t重定向到给定的值

C# 导航菜单没有';t重定向到给定的值,c#,redirect,navigation,C#,Redirect,Navigation,我遇到的问题与导航菜单中的重定向有关。我想动态创建一个导航菜单。根据用户的角色,我们可以看到所需的导航菜单项。 目前我使用: if (found) { if (admin == true) { NavigationMenu.Items.Add(new MenuItem("Agenda", "/AdminPages/Agenda.aspx"));

我遇到的问题与导航菜单中的重定向有关。我想动态创建一个导航菜单。根据用户的角色,我们可以看到所需的导航菜单项。 目前我使用:

if (found)
            {
                if (admin == true)
                {
                    NavigationMenu.Items.Add(new MenuItem("Agenda", "/AdminPages/Agenda.aspx"));
                    NavigationMenu.Items.Add(new MenuItem("Add Product", "/AdminPages/ProductToevoegen.aspx"));
                }
                else if (user == true)
                {}
这段代码我已经放在我的Site.master.cs中,但我在login.aspx.cs代码中还有一个控件,它执行
响应.Redirect(“~/AdminPages/Agenda.aspx”)
登录到某个页面,具体取决于管理员或用户。现在的问题是,当我登录时,一个部件工作,因此它控制角色并添加所需的导航菜单项。但是,当我点击添加产品链接时,它不会将我重定向到页面。它不断地将我重定向到:

http://localhost:52853/AdminPages/Agenda.aspx
在url栏中,它实际显示了url,单击时后跟#,然后重定向到议程页面


关于如何解决这个问题有什么想法吗?我试着在login.aspx.cs代码中放置导航链接,但找不到正确的方式来引用导航菜单,不知道是否有任何帮助。提前谢谢。

我建议使用标准的siteMap对象和RoleProvider。阅读一点关于安全性调整的内容(您可以在站点地图节点上指定哪些角色可以访问哪些站点)。

Hm可能不是正确的方法,但我在site.master.aspx文件中创建了另一个菜单,名为MenuAdmin。而不是我设定的密码

NavigationMenu.visible = false;


看起来很好,做了现在需要做的;)

查看用于创建新菜单项的参数

仅传递2个参数时,将填充文本和值参数。您要传递的是navigateUrl参数。这仅在传递imageURL参数(可以为空)时可用

类似下面的内容应该可以解决您的问题

NavigationMenu.Items.Add(new MenuItem("Agenda", "", "", "/AdminPages/Agenda.aspx"));

希望这能有所帮助。

是的,我可以做到,但有没有办法做到这一点呢?:)
NavigationMenu.Items.Add(new MenuItem("Agenda", "", "", "/AdminPages/Agenda.aspx"));