asp.net menu avec sous-menu des objets, de rediriger par le code derrière
J'ai un contrôle de menu avec 2 niveaux d'éléments de menu!
Je voudrais naviguer via le code derrière OnMenuItemClick événement, parce que lorsque j'utilise NavigationUrl bien mon ajax UpdateProgress ne démarre pas!
Le Problème, quel que soit l'élément de sous-menu je clique, lors de l'événement, l'élève obtient à chaque fois le premier élément?!
<asp:Menu ID="Menu1" runat="server" onmenuitemclick="Menu1_MenuItemClick" >
...
<Items>
<asp:MenuItem Text="WorkFlows">
<asp:MenuItem Text="Overview" Value="Workflow"></asp:MenuItem>
<asp:MenuItem Text="Edit" Value="Workflow"></asp:MenuItem>
<asp:MenuItem Text="Create" Value="Workflow"></asp:MenuItem>
<asp:MenuItem Text="Delete" Value="Workflow"></asp:MenuItem>
</asp:MenuItem>
<asp:MenuItem Text="HoursOfBusiness">
<asp:MenuItem Text="Overview" Value="HoursOfBusiness"></asp:MenuItem>
<asp:MenuItem Text="Edit" Value="HoursOfBusiness"></asp:MenuItem>
<asp:MenuItem Text="Create" Value="HoursOfBusiness"></asp:MenuItem>
<asp:MenuItem Text="Delete" Value="HoursOfBusiness"></asp:MenuItem>
</asp:MenuItem>
</Items>
</asp:Menu>
protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
{
switch (e.Item.Value)
{
case "Workflow":
switch (e.Item.Text)
{
case "Overview":
Response.Redirect("~/RGS/Workflow/Workflow.aspx");
break;
case "Edit":
Response.Redirect("~/RGS/Workflow/WorkflowEdit.aspx");
break;
case "Create":
Response.Redirect("~/RGS/Workflow/WorkflowCreate.aspx");
break;
case "Delete":
Response.Redirect("~/RGS/Workflow/WorkflowDelete.aspx");
break;
}
break;
case "HoursOfBusiness":
switch (e.Item.Text)
{
case "Overview":
Response.Redirect("~/RGS/Workflow/BusinessHour/BusinessHours.aspx");
break;
case "Edit":
Response.Redirect("~/RGS/Workflow/BusinessHour/BusinessHours.aspx");
break;
case "Create":
Response.Redirect("~/RGS/Workflow/BusinessHour/BusinessHoursCreate.aspx");
break;
case "Delete":
Response.Redirect("~/RGS/Workflow/BusinessHour/BusinessHours.aspx");
break;
}
break;
}
alors, quand je clique sur Créer sous HoursOfBusiness je obtenir la vue d'ensemble menuItem envoyer à l'événement?!
J'espère que l'explication est compréhensible?! 🙂
OriginalL'auteur Schmurgel | 2011-10-10
Vous devez vous connecter pour publier un commentaire.
C'est comment j'ai résolu ce problème:
Et le code-behind est comme ceci:
J'espère que cela va vous aider à résoudre votre problème.
Si vous ne définissez pas la valeur de votre menuitem automatiquement le nom de l'élément sera utilisé comme valeur. Le problème que vous avez eu, c'est que vous ne pouvez pas vérifier la propriété Text de votre menuitem dans le code derrière. Je ne sais pas pourquoi, mais la vérification de la Valeur travail. Ainsi, lorsque vous exécutez votre code, vous pouvez seulement obtenir des "flux de travail" ou "HoursOfBusiness" et non pas le texte de la menuitem lui-même. J'ai donc résolu ce problème en rendre la valeur de la valeur réelle du texte (en la laissant vide) et de contrôler les parrent. J'espère que cette réponse fait ma solution un peu plus clair pour vous.
OriginalL'auteur Cedric Ascoop