直接在里面只需要一个元素 [英] Exactly one element is required directly inside

查看:80
本文介绍了直接在里面只需要一个元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在一个开发数据库菜单链接的项目中.因为我正在使用情景地图.当我运行应用程序时,发生以下错误.

直接在内部仅需要一个siteMapNode元素.

这是我的站点地图:

I am in a project to develop database menu link. in that i am using a sitmap.when i run the application the following error occurs.

Exactly one siteMapNode element is required directly inside.

This is my sitemap:

<?xml version="1.0" encoding="utf-8" ?>

<siteMap>
 <siteMapNode url="authendicate.aspx" title="Home">
    <siteMapNode title="Employee Manage"  description="Managing Employee details">
      <siteMapNode

               url="NewEmployeeDetails.aspx"

               title="New Employee"

               description="new employee details" />
      <siteMapNode

               url="EmployeeDetails.aspx"

               title="EmployeeDetails"

               description="employee details" />
    </siteMapNode>
    <siteMapNode

        url="EmployeeDetails.aspx"

        title="Activation"

        description="Activate and deactivate employee" />
  </siteMapNode>
  <siteMapNode title="Leave Manage"  description="Managing Leave details">
      <siteMapNode

               url="ApplyForLeave.aspx"

               title="ApplyForLeave"

               description="Apply For Leave" />
      <siteMapNode

               url="ViewLeaveRequest.aspx"

               title="ViewLeaveRequest"

               description="View Leave Request" />
    </siteMapNode>
 </siteMap>



这是我调用站点地图的代码隐藏文件:



and this is my codebehind file to call sitemap:

private SiteMapDataSource GetSiteMapDataSource()
   {
       XmlSiteMapProvider xmlSiteMap = new XmlSiteMapProvider();
       System.Collections.Specialized.NameValueCollection myCollection = new System.Collections.Specialized.NameValueCollection(1);
       myCollection.Add("siteMapFile", "Web.sitemap");
       xmlSiteMap.Initialize("provider", myCollection);
       xmlSiteMap.BuildSiteMap();
       SiteMapDataSource siteMap = new SiteMapDataSource();
       return siteMap;
   }



有人可以帮忙吗?
谢谢.



can anybody help?.
Thanks.

推荐答案

您需要将所有站点地图节点包装在一个站点地图节点中.即您的站点地图文件应如下所示:

You need to wrap all your site map nodes inside one site map node. i.e Your sitemap file should look like this:

<sitemap>
  <sitemap>
    <sitemapnode url="authendicate.aspx" title="Home">
      <sitemapnode title="Employee Manage" description="Managing Employee details">
        <sitemapnode>
                 url="NewEmployeeDetails.aspx"
                 title="New Employee"
                 description="new employee details" />
        <sitemapnode>
                 url="EmployeeDetails.aspx"
                 title="EmployeeDetails"
                 description="employee details" />
      </sitemapnode>
      <sitemapnode>
          url="EmployeeDetails.aspx"
          title="Activation"
          description="Activate and deactivate employee" />
    </sitemapnode>
    <sitemapnode title="Leave Manage" description="Managing Leave details">
      <sitemapnode>
               url="ApplyForLeave.aspx"
               title="ApplyForLeave"
               description="Apply For Leave" />
      <sitemapnode>
               url="ViewLeaveRequest.aspx"
               title="ViewLeaveRequest"
               description="View Leave Request" />
    </sitemapnode>
  </sitemapnode></sitemapnode></sitemapnode></sitemapnode></sitemapnode></sitemap>
</sitemap>



否则,您也可以尝试 [



else you can also try this[^] solution.

Hope this helps.
All the best.


您忘记关闭第一个<siteMapNode>标签.您需要在</siteMap>
You forgot to close the first <siteMapNode> tag. You need to add </siteMapNode> before </siteMap>


这篇关于直接在里面只需要一个元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆