Ho ridotto la mappa del sito per vedere dove si trova il problema e anche in quel modo non posso.
<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0"
enableLocalization="true">
<mvcSiteMapNode key="0" title="BPM" controller="OEE" action="StationCycleTime">
<mvcSiteMapNode key="1" title="LiveOEE" controller="OEE" action="LiveOEE">
</mvcSiteMapNode>
</mvcSiteMapNode>
</mvcSiteMap>
Secondo me:
@Html.DevExpress().Menu(
settings =>
{
settings.Name = "Mvc";
settings.AllowSelectItem = true;
settings.EncodeHtml = false;
settings.Orientation = System.Web.UI.WebControls.Orientation.Horizontal;
settings.Width = 100;
}).BindToSiteMap("~/Mvc.sitemap", false).GetHtml()
Ho provato senza l'attributo chiave, mettendo l'url al posto del controller e dell'azione, niente funziona.
Alcune idee per favore
risposte:
1 per risposta № 1Per come la vedo io, DevExpress non supporta l'implementazione del provider MVC SiteMap. Puoi usare semplicemente la vecchia mappa del sito. Se ti senti a tuo agio, collega il tuo menu DevExpress al file SiteMap:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode title="BPM" url="OEE/StationCycleTime">
<siteMapNode title="LiveOEE" url="OEE/LiveOEE" />
</siteMapNode>
</mvcSiteMap>
Ti lascia senza le funzionalità estese che offre l'implementazione MVC :(
Tuttavia, puoi fare qualche uso del menu (MenuSettings
) evento ItemDataBound
proprietà e allega il tuo gestore (ad esempio anonimo) per acquisire l'associazione predefinita. E poi aggiungi la tua gestione degli attributi personalizzati:
@Html.DevExpress().Menu(
settings =>
{
settings.Name = "Mvc";
settings.AllowSelectItem = true;
settings.EncodeHtml = false;
settings.Orientation = System.Web.UI.WebControls.Orientation.Horizontal;
settings.Width = 100;
settings.ItemDataBound = (sender, e) =>
{
var node = e.Item.DataItem as SiteMapNode;
if (node != null)
{
if (!string.IsNullOrEmpty(node["key"]))
{
// Do something with your lookup key
}
}
};
}).BindToSiteMap("~/Mvc.sitemap", false).GetHtml()