예제 #1
0
        /// <summary>Linking master page and attaching specific content to it's placeholders</summary>
        public ContainerTag ReusableCreateTagTree(
            PlaceHolderDelegate titleContent, PlaceHolderDelegate mainContent, ViewModels.MasterViewModel model)
        {
            SiteMaster master = this.MasterBuilder();

            master.ParentBuilder = this;
            master.SelfFireOnCreateBuilder();
            return(master
                   // SEE HERE ! - example how to attach specifc content to master page's placeholders
                   .Attach <SiteMaster>(x => x.TitleContent = titleContent)
                   .Attach <SiteMaster>(x => x.MainContent = mainContent)

                   // just call master page method to generate combined content
                   .CreateTags(model));
        }
예제 #2
0
파일: Builders.cs 프로젝트: bzure/BSA.Net
        /// <summary>Creates tags nested inside placeholder</summary>
        /// <param name="layout">Reference to virtual method generating tags inside place holder</param>
        /// <param name="defaultLayout">Reference to virtual method generating tags inside place holder</param>
        /// <returns></returns>
        public virtual ContainerTag PlaceHolder(PlaceHolderDelegate layout, Func <ContainerTag, ContainerTag> defaultLayout = null)
        {
            ContainerTag placeHolderContainer = new PlaceHolderTag(layout, defaultLayout);

            if (layout != null)
            {
                placeHolderContainer = layout(placeHolderContainer);
            }
            else if (defaultLayout != null)
            {
                placeHolderContainer = defaultLayout(placeHolderContainer);
            }
            FireOnDeclarePlaceHolder();
            return(placeHolderContainer);
        }
예제 #3
0
 /// <summary>Default constructor</summary>
 public PlaceHolderTag(PlaceHolderDelegate layout, Func <ContainerTag, ContainerTag> defaultLayout)
 {
     Layout        = layout;
     DefaultLayout = defaultLayout;
 }