atul sharma 5126 Ответов: 1

Как заставить меню работать с навигационным url-адресом


Всем Привет,

Я использую меню на своей главной странице на веб - сайте для навигации.

Меню было добавлено в рамках опции стрелка вправо на пункте меню.

Проблема в том, что я должен использовать событие щелчка меню, которое не срабатывает, вероятно, из-за использования события navigate url.

Теперь на этом этапе проекта я не могу переделать создание динамических меню, и я также создал систему управления правами в соответствии с текущей системой меню.

Есть ли у них какая-то работа вокруг?

Пожалуйста, предложите. Немного срочно. Спасибо..

Атул

Начальная часть кода для справки. Все меню довольно длинное и может оказаться бесполезным для публикации.

<asp:Menu ID="Menu1" runat="server" BackColor="Silver" Font-Names="Andalus" Font-Size="Large" ForeColor="Black" style="font-size: medium" Orientation="Horizontal" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px" Width="100%" Font-Bold="True" CssClass="newStyle1" Font-Underline="False" OnMenuItemClick="Menu1_MenuItemClick"  >
    <Items>
        <asp:MenuItem Text="Masters" Value="Masters" >
            <asp:MenuItem Text="Plant" Value="Mill" NavigateUrl="~/APP_Pages/Material/Masters/MillMaster.aspx">
            </asp:MenuItem>

1 Ответов

Рейтинг:
5

hypermellow

Привет,

Если вы хотите выполнить обратную передачу (чтобы подключиться к событию щелчка элемента меню), вам нужно будет удалить адрес из свойства меню NavigateUrl.

Если вы удалите свойство NavigateUrl, вы можете выполнить навигацию (после выполнения того, что еще нужно сделать в событии щелчка элемента меню), идентифицировав элемент, который был нажат, и перенаправив его на соответствующую целевую страницу.

Я уже устал от VB в эти дни ... но в C# что-то вроде этого должно работать:

protected void mnuNavMenu_MenuItemClick(object sender, MenuEventArgs e)
  {
    switch (e.Item.Text)
    {
    case "Home":
      Response.Redirect("~/");
      break;
    case "Masters":
      Response.Redirect("~/APP_Pages/Material/Masters/MillMaster.aspx");
      break;
    ...
    ...
    ...
    default:
      Response.Redirect("~/");
      break;
    }
  }


Если вы застряли при переходе на VB, дайте мне знать, где, и я посмотрю.

[редактировать] Добавление преобразования VB [/edit]
Protected Sub mnuNavMenu_MenuItemClick(sender As Object, e As MenuEventArgs)
	Select Case e.Item.Text
		Case "Home"
			Response.Redirect("~/")
			Exit Select
		Case "Masters"
			Response.Redirect("~/APP_Pages/Material/Masters/MillMaster.aspx")
			Exit Select
		Case Else
			Response.Redirect("~/")
			Exit Select
	End Select
End Sub


..- Надеюсь, это поможет.


atul sharma 5126

Спасибо, дорогая. Это сработало идеально.

hypermellow

Рад помочь, Спасибо, что дали мне знать :)