2017-03-21 37 views
2

我正嘗試在ASP.NET中創建從數據庫驅動的動態菜單項。在創建菜單項後,我想將它們與每個菜單項的按鈕單擊事件綁定,以傳遞參數而不是NavigateUrl選項。使用菜單項添加按鈕單擊事件而不是導航url

MenuItem menuItem = new MenuItem 
    { 
     Value = row["MenuId"].ToString(), 
     Text = row["Title"].ToString(), 
     //NavigateUrl = row["Url"].ToString(), 
     //some logic to bind to onclick event 
    }; 

回答

1

不能點擊事件添加到您必須將它添加到Menu和你確認單擊了menuItem click事件每個menuItem

因此,請確保您添加MenuItemClick到您的菜單如下:

menu.MenuItemClick += Menu_MenuItemClick; 

然後你就可以有一個將創建MenuItems的函數,在事件處理程序,你可以有這樣的事情來驗證哪一個被選中:

private void Menu_MenuItemClick(object sender, MenuEventArgs e) 
{ 
    if(e.Item.Text == "text1") 
    { 
     //Do what you need 
    } 
    else if(e.Item.Text == "text2") 
    { 
     //Do what you need 
    } 
} 
0

我解決了這個問題。我必須將OnMenuItemClick事件添加到菜單中,例如OnMenuItemClick =「Menu_OnClick」。基於點擊,我檢查了

protected void Menu_OnClick(object sender, MenuEventArgs e) 
    { 
     string value = e.Item.Value.ToString(); 
     //OR 
     // string value = e.Item.Text.ToString(); 
     //some logic 
} 
相關問題