【问题标题】:MVCSitemap Nodes not RenderingMVSitemap 节点未呈现
【发布时间】:2011-04-22 21:39:00
【问题描述】:

我已经安装了 MvcSiteMap 提供程序,并且有一个基本的站点地图定义如下:

<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0" enableLocalization="true">
<mvcSiteMapNode title="Home" controller="Home" action="Index">
<mvcSiteMapNode title="About" controller="Home" action="About"/>
<mvcSiteMapNode title="Contact" controller="Home" action="Contact"/>
</mvcSiteMapNode>
<mvcSiteMapNode title="Borrower" controller="Borrower" action="Index">
<mvcSiteMapNode title="Sign Up" controller="Borrower" action="Create"/>
</mvcSiteMapNode>
<mvcSiteMapNode title="Investor" controller="Investor" action="Index">
<mvcSiteMapNode title="Sign Up" controller="Investor" action="Create"/>
</mvcSiteMapNode>
<mvcSiteMapNode title="Dealer" controller="Dealer" action="Index">  
<mvcSiteMapNode title="Sign Up" controller="Dealer" action="Create"/>
</mvcSiteMapNode>
</mvcSiteMap>

我的家庭控制器: 使用系统; 使用 System.Collections.Generic; 使用 System.Linq;
使用 System.Web; 使用 System.Web.Mvc; 使用 Veehco.Models; 使用 Telerik.Web.Mvc;

namespace Veehco.Controllers
{
public class HomeController : Controller
{
    VeehcoEntities _db;

    public HomeController()
    {
        _db = new VeehcoEntities();
    }

    public ActionResult Index()
    {
        ViewBag.Message = "Welcome to Veehco!";

        return View();
    }

    public ActionResult About()
    {
        return View();
    }

    public ActionResult Contact()
    {
        return View();
    }

    public ActionResult MenuPartial()
    {
        return PartialView("~/Shared/MenuPartial");
    }   
}

public partial class MenuController : Controller
{
    [PopulateSiteMap(SiteMapName = "Veehco", ViewDataKey = "Veehco")]

    public ActionResult SiteMapBinding()
    {
        if (!SiteMapManager.SiteMaps.ContainsKey("Veehco"))
        {
            SiteMapManager.SiteMaps.Register<XmlSiteMap>("Veehco", sitemap => sitemap.LoadFrom("~/Veehco.sitemap"));
        }
        return View();
    }

    public ActionResult Orientation(string orientation) 
    { 
        ViewData["orientation"] = orientation ?? "Horizontal"; 
        return View(); 
    }

    public ActionResult AnimationEffects(string animation, bool? enableOpacityAnimation, int? openDuration, int? closeDuration)
    { 
        ViewData["animation"] = animation ?? "slide"; 
        ViewData["enableOpacityAnimation"] = enableOpacityAnimation ?? true; 
        ViewData["openDuration"] = openDuration ?? 200; ViewData["closeDuration"] = closeDuration ?? 200; 
        return View(); 
    }
}
}

当我构建和查看此站点时,只有“关于”和“联系方式”链接可见。如何设置我的站点地图和/或 HomeController 以显示其他顶级和子节点?

非常感谢!!

【问题讨论】:

    标签: asp.net-mvc-3 mvcsitemapprovider


    【解决方案1】:

    我相信您只想在mvcSiteMap 的根部有一个mvcSiteMapNode 元素。尝试将 Borrower、Investor 和 Dealer 放在您的 Home 元素中(与 About 和 Contact 处于同一级别)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-31
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      相关资源
      最近更新 更多