SiteMapPath.RootNodeTemplate Свойство

Определение

Получает или задает шаблон элемента управления для корневого узла пути навигации веб-узла.

[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
[System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.SiteMapNodeItem))]
public virtual System.Web.UI.ITemplate RootNodeTemplate { get; set; }

Значение свойства

Объект ITemplate, реализующий метод InstantiateIn(Control) для передачи пользовательского содержимого для корневого узла пути навигации.

Атрибуты

Примеры

В следующем примере кода показано, как программно определить класс, реализующий ITemplate интерфейс для оболочки Image элемента управления. Затем свойству RootNodeTemplate присваивается экземпляр класса .

<%@ Page language="c#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    private void Page_Load(object sender, System.EventArgs e)
    {
        // Create the SiteMapPath control.
        SiteMapPath navpath = new SiteMapPath();

        // Make the root node look unique.
        // The Image that you can use in your Web page is an
        // instance of the WebControls.Image class, not the
        // Drawing.Image class.
        System.Web.UI.WebControls.Image rootNodeImage =
            new System.Web.UI.WebControls.Image();
        rootNodeImage.ImageUrl = "myimage.jpg";
        ImageTemplate rootNodeImageTemplate = new ImageTemplate();
        rootNodeImageTemplate.MyImage = rootNodeImage;
        navpath.RootNodeTemplate = rootNodeImageTemplate;

        // Make the current node look unique.
        Style currentNodeStyle = new Style();
        navpath.CurrentNodeStyle.ForeColor = System.Drawing.Color.AliceBlue;
        navpath.CurrentNodeStyle.BackColor = System.Drawing.Color.Bisque;

        // Set the path separator to be something other
        // than the default.
        navpath.PathSeparator = "::";

        PlaceHolder1.Controls.Add(navpath);
    }


    // A simple Template class to wrap an image.
    public class ImageTemplate : ITemplate
    {
        private System.Web.UI.WebControls.Image myImage;
        public System.Web.UI.WebControls.Image MyImage
        {
            get
            {
                return myImage;
            }
            set
            {
                myImage = value;
            }
        }
        public void InstantiateIn(Control container)
        {
            container.Controls.Add(MyImage);
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>About Our Company</title>
</head>
<body>
    <form id="Form1" method="post" runat="server">

      <asp:PlaceHolder id="PlaceHolder1" runat="server"></asp:PlaceHolder>

      <h1>About Our Company</h1>

      <p>Our company was founded in 1886.</p>

      <p>We use only the finest ingredients, organically grown fruits, and
      natural spices in our homemade pies. We use no artificial preservatives
      or coloring agents. We would not have it any other way!</p>

    </form>
  </body>
</html>

Комментарии

Присвойте RootNodeTemplate объекту ITemplate значение , чтобы использовать Image элемент управления или другой элемент управления, например Label элемент пользовательского интерфейса корневого узла, а не строку.

RootNodeTemplate Если свойство задано, шаблон переопределяет отображаемый текст корневого узла навигации и любой RootNodeStyle примененный к нему текст. Шаблон также переопределяет свойства и CurrentNodeStyle , CurrentNodeTemplate если корневая страница является текущей отображаемой страницей.

Вы можете декларативно задать RootNodeTemplate для свойства любой серверный веб-элемент управления, а инфраструктура ASP.NET выполняет необходимые действия для упаковки серверного веб-элемента управления в качестве ITemplate. Однако серверные веб-элементы управления не реализуют ITemplate интерфейс , поэтому при программной работе со свойствами ITemplate необходимо написать оболочку ITemplate для любого кода шаблона. Затем свойству RootNodeTemplate присваивается экземпляр программы-оболочки ITemplate .

Применяется к

Өнім Нұсқалар
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

См. также раздел