Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 4 MvcSiteMap面包屑在视图中不可见_Asp.net Mvc 4_Breadcrumbs_Asp.net Mvc Sitemap - Fatal编程技术网

Asp.net mvc 4 MvcSiteMap面包屑在视图中不可见

Asp.net mvc 4 MvcSiteMap面包屑在视图中不可见,asp.net-mvc-4,breadcrumbs,asp.net-mvc-sitemap,Asp.net Mvc 4,Breadcrumbs,Asp.net Mvc Sitemap,我有两种类似的观点,MVCSiteMap面包屑是不可见的。在其他页面上,同样的代码也起作用。请帮我弄清楚为什么这两个视图不显示面包屑。 Mvcsitemap代码: <?xml version="1.0" encoding="utf-8" ?> <mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://mvcsitemap.codeplex.com/sch

我有两种类似的观点,MVCSiteMap面包屑是不可见的。在其他页面上,同样的代码也起作用。请帮我弄清楚为什么这两个视图不显示面包屑。 Mvcsitemap代码:

<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0"
            xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0 MvcSiteMapSchema.xsd">

  <mvcSiteMapNode title="Главная" controller="Home" action="Index" key="Home">

    <mvcSiteMapNode title="Каталоги" controller="Products" action="Index" key="Products" />
    <mvcSiteMapNode title="Продукция" controller="Products" action="ProductList" key="ProductList" />
    <mvcSiteMapNode title="Новинки" controller="Products" action="ShowNewest" key="ShowNewest" />
    <!--Education-->
    <mvcSiteMapNode title="Обучение" controller="Education" action="Index" key="Education">
      <mvcSiteMapNode title="Видео" controller="Education" action="Video" key="Video" />
      <mvcSiteMapNode title="Мастер-классы видео" controller="Education" action="Video_MasterClass" key="Video_MasterClass" />


      <mvcSiteMapNode title="Отзывы участников" controller="Education" action="FeedbacksParticipants" key="FeedbacksParticipants">

        <!--THIS IS THE FIRST PROBLEM-->     
        <mvcSiteMapNode title="Отзыв участника" controller="Education" action="OneFeedbacksParticipants" key="OneFeedbacksParticipants" />
      </mvcSiteMapNode>  


      <mvcSiteMapNode title="Полное рассписание семинаров" controller="Education" action="AllSeminars" key="AllSeminars" />
      <mvcSiteMapNode title="Семинары по уходу за лицом" controller="Education" action="FaceSeminars" key="FaceSeminars" />
      <mvcSiteMapNode title="Семинары по уходу за телом" controller="Education" action="BodySeminars" key="BodySeminars" />
      <mvcSiteMapNode title="Информация о интересующем семинаре" controller="Education" action="ShowOneSeminar" key="ShowOneSeminar" />
      <mvcSiteMapNode title="Тренинги для руководителей" controller="Education" action="TrainingsForChiefs" key="TrainingsForChiefs" />
      <mvcSiteMapNode title="Тренинги по продажам" controller="Education" action="TrainingsForSalers" key="TrainingsForSalers" />
      <mvcSiteMapNode title="Информация о интересующем тренинге" controller="Education" action="ShowOneTraining" key="ShowOneTraining" />
    </mvcSiteMapNode>
    <!--News-->
    <mvcSiteMapNode title="Новости" controller="News" action="AllNews" key="AllNews" />
    <mvcSiteMapNode title="Новость" controller="News" action="News" key="News" />
    <!--Partners-->
    <mvcSiteMapNode title="Партнеры" controller="Partner" action="AllPartners" key="Partners" />
    <mvcSiteMapNode title="Партнер" controller="Partner" action="Partner" key="OneOfPartners" />
    <!--About company-->
    <mvcSiteMapNode title="О нас" controller="Home" action="AboutUs" key="AboutUs" />
    <mvcSiteMapNode title="О бренде" controller="Home" action="AboutBrand" key="AboutBrand" />
    <mvcSiteMapNode title="Пресса" controller="Social" action="Press" key="Press" />
    <mvcSiteMapNode title="Статья" controller="Press" action="Press" key="Article" />

    <mvcSiteMapNode title="Отзывы" controller="Social" action="Feedback" key="Feedback">

      <!--THIS IS THE SECOND PROBLEM-->     
      <mvcSiteMapNode title="Отзыв подробнее" controller="Social" action="OneFeedback" key="OneFeedback" />
    </mvcSiteMapNode>  


    <!--Contacts-->
    <mvcSiteMapNode title="Контакты" controller="Home" action="Contacts" key="Contacts" />
    <!--Sertificartes-->
    <mvcSiteMapNode title="Сертификаты" controller="Sertificates" action="Index" key="Sertificates" />

  </mvcSiteMapNode>

</mvcSiteMap>
控制器中的代码:

[MvcSiteMapNode(Title = "Отзыв подробнее", ParentKey = "Feedback")]
        public ActionResult OneFeedback(Int32 id)
        {
            ViewBag.Title = "Отзыв подробнее";
            ViewBag.Description = "Отзывы об Астрамед";
            ViewBag.Keywords = "Астрамед, Tegor, отзывы";

            FeedbackManager feedbackManager = new FeedbackManager();
            FeedbackModel model = feedbackManager.GetFeedback(id);
            return View(model);
        }
在视图中,我有下一个代码:

<div class="breadcumbs">@Html.MvcSiteMap().SiteMapPath()</div>

非常感谢

问题在于您尚未定义如何处理配置中的id参数。默认情况下,您需要为每个可能的id创建一个节点

在这种情况下,这可能是不现实的。另一个选项是通过使用参数强制每个id匹配来配置一对多关系

[MvcSiteMapNode(Title = "Отзыв участника", ParentKey = "FeedbacksParticipants", PreservedRouteParamters="id")]
public ActionResult OneFeedbacksParticipants(Int32 id)
{
    ViewBag.Title = "Отзывы участников";
    ViewBag.Description = "Отзывы об обучении в Астрамед";
    ViewBag.Keywords = "Астрамед, отзывы, обучение, семинары, тренинги, лицо, тело, косметика";
    FeedbackOfParticipantManager manager = new FeedbackOfParticipantManager();
    FeedbackModel model = manager.GetFeedback(id);
    return View(model);
}

[MvcSiteMapNode(Title = "Отзыв подробнее", ParentKey = "Feedback", PreservedRouteParamters="id")]
public ActionResult OneFeedback(Int32 id)
{
    ViewBag.Title = "Отзыв подробнее";
    ViewBag.Description = "Отзывы об Астрамед";
    ViewBag.Keywords = "Астрамед, Tegor, отзывы";

    FeedbackManager feedbackManager = new FeedbackManager();
    FeedbackModel model = feedbackManager.GetFeedback(id);
    return View(model);
}
参考资料:

注意:您应该只声明一次节点,可以是XML,也可以是.NET属性

[MvcSiteMapNode(Title = "Отзыв участника", ParentKey = "FeedbacksParticipants", PreservedRouteParamters="id")]
public ActionResult OneFeedbacksParticipants(Int32 id)
{
    ViewBag.Title = "Отзывы участников";
    ViewBag.Description = "Отзывы об обучении в Астрамед";
    ViewBag.Keywords = "Астрамед, отзывы, обучение, семинары, тренинги, лицо, тело, косметика";
    FeedbackOfParticipantManager manager = new FeedbackOfParticipantManager();
    FeedbackModel model = manager.GetFeedback(id);
    return View(model);
}

[MvcSiteMapNode(Title = "Отзыв подробнее", ParentKey = "Feedback", PreservedRouteParamters="id")]
public ActionResult OneFeedback(Int32 id)
{
    ViewBag.Title = "Отзыв подробнее";
    ViewBag.Description = "Отзывы об Астрамед";
    ViewBag.Keywords = "Астрамед, Tegor, отзывы";

    FeedbackManager feedbackManager = new FeedbackManager();
    FeedbackModel model = feedbackManager.GetFeedback(id);
    return View(model);
}