0

一部の NavigationMenu 項目を一部のユーザーのみに表示する必要があります。私の場合、そのうちの 2 つを管理者だけが利用できるようにする必要があります。

Googleを検索したところ、機能するコマンドが見つかりました:

NavigationMenu.Items.Remove(NavigationMenu.FindItem("ここに、削除する必要があるメニューの名前が表示されます"));

ここまでは、すべて問題ありません。しかし、再び利用できるようにするには、どのコマンドを使用する必要がありますか?

私を助けてください。前もってthnx ;)

public partial class SiteMaster : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        NavigationMenu.Items.Remove(NavigationMenu.FindItem("Employers"));

        if (Matrix.UserLoggedId == Guid.Empty)
        {

            hlLogin.Visible = true;
            lblUsername.Visible = false;
            lnkLogout.Visible = false;
        }
        else
        {
            // here goes the code to add the menu
            hlLogin.Visible = false;
            lblUsername.Visible = true;
            lnkLogout.Visible = true;

            Marin.Employee.DetailsDataTable emp = Matrix.GetEmployeeByUniqueId(Matrix.UserLoggedId);
            if (emp.Rows.Count > 0)
            {

                lblUsername.Text = emp.Rows[0]["Firstname"].ToString();


                bool isAdmin =Convert.ToBoolean(emp.Rows[0]["isAdmin"]);
                if (isAdmin)
                {
                    //here goes the code to show the menu
                }
                else
                {

                   NavigationMenu.Items.Remove(NavigationMenu.FindItem("Employers"));
                }
            }

        }

    }
4

1 に答える 1

0

これを試して、x を正しい値に置き換えてください。

var mi = new MenuItem(x,x,x,x)
NavigationMenu.Items.Add(mi);

MenuItem の詳細については、これを確認してください -

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.menuitem.aspx

于 2012-07-20T18:47:01.197 に答える